Re: XForms: TAB navigation

From: Clive A Stubbings (xforms@vjet.demon.co.uk)
Date: Tue Jun 06 2000 - 17:29:36 EDT

  • Next message: Clive A Stubbings: "XForms: Bug report for fl_show_fselector(..)"

    # To subscribers of the xforms list from Clive A Stubbings <xforms@vjet.demon.co.uk> :

    --- T.C. Zhao <tc_zhao@yahoo.com> commented..
    >
    > --- Clive A Stubbings <xforms@vjet.demon.co.uk> wrote:
    >
    > > Realistically, if we are going to use TAB based navigation (and this
    > > seems to
    > > be what my users expect) then it should be applied consistantly.
    > > Users are not
    > > aware that there is a distinction between single and multi-line
    > > inputs (and
    > > there is no reason why they should be).
    > There is a reason why this is so. Unless we say TAB is an invalid
    > character for multi-line input, it's just not possible
    > to distinguish an valid input for the input field and
    > a focus switching request. I am not ready to ditch TAB
    > entirely for multiline input field.

    Interestingly, TAB does not *seem* to do anything at all in my multi-line
    inputs.. Maybe I need to set up the TAB width or something but the sequence

            j<TAB>j<TAB>j

    displays

            jjj

    Interestingly, this is the behavior you would expect from what the manual
    says ;-)

    Section 18.1 of the V0.89 July 1999 manual comments
            "This (<TAB> and <RETURN>) does not work for multi-line input fields
             where <RETURN> key is used to separate lines and <TAB> is a legitimate
             input character (not currently handled though)."

    > >
    > > The problem I have is that there is a multiline input field in the
    > > middle of
    > > a form.. TAB navigation stops at this point, which rather de-values
    > > it and
    > > confuses users.
    > >
    > No disagreement here. The problem is there is no obvious fix
    > for this except ditching TAB for multiline input. Also, I
    > believe that the behavior of xforms is consistent with some
    > other toolkits wrt the focus switching policy.

    I appreciate the problem.. The only solution would appear to be a mode
    option. That then leaves the decision to the application writer..
    Not at all ideal, but it would get us off your back ;-)

    Presumably as an alternative solution its possible to do this in a
    filter from the multi-line input.. but how do I move focus to the *next*
    object on the form in the filter?

        ...
        fl_set_input_filter(obj, manage_multiline_tabs);
        ...

        FL_INPUTVALIDATOR manage_multiline_tabs(FL_OBJECT *obj, const char *old,
                    const char *cur, int c)
        {
            if (c == '\t') {
                fl_step_input_focus(...); <<<< but how....
                return FL_INVALID;
            }
            return FL_VALID;
        }

    Cheers
    Clive

    _________________________________________________
    To unsubscribe, send the message "unsubscribe" to
    xforms-request@bob.usuhs.mil or see
    http://bob.usuhs.mil/mailserv/xforms.html
    XForms Home Page: http://world.std.com/~xforms
    List Archive: http://bob.usuhs.mil/mailserv/list-archives/



    This archive was generated by hypermail 2b29 : Tue Jun 06 2000 - 17:36:27 EDT