[comp.windows.x] X Toolkit move_focus_to_next

pal@calmasd.GE.COM (Peter Lawrence) (08/02/88)

    The toolkit intrinsics doc on page 66 describe the move_focus_
_to_next and _to_prev routines. Looking at the Athena widgets these
dont seem to have ever been defined. Has anyone actually defined them.
I would like to do so for the "Form" widget. How would the form know
which children would be interrested in the focus, do I have to create
a new constraint field to indicate this (do I have to subclass form
to do that).

   BTW I have created a horizontally paned widget from the sources of
the Athena verically paned widget. Currently it duplicates a lot of code,
eventually I plan to merge these two into a single widget. Is there
any other interrest in this work.

-- 
pal@calmasd.GE.COM   or  ...!sdcsvax!calmasd!pal

swick@ATHENA.MIT.EDU (Ralph R. Swick) (08/02/88)

     Date:  2 Aug 88 02:08:51 GMT
     From:  sdcc6!calmasd!pal@ucsd.edu  (Peter Lawrence)

         The toolkit intrinsics doc on page 66 describe the move_focus_
     _to_next and _to_prev routines. Looking at the Athena widgets these
     dont seem to have ever been defined. Has anyone actually defined them.

There were two reasons for not implementing the focus manipulation
routines in Xaw: the first was time, the second (and more important)
was that the Inter-Client Communications Conventions for passing
focus around were not sufficiently stable (read "had general consensus";
also a function of time).

A third reason has since arisen; during the X Consortium formal review,
several issues were raised with these two procedures and as a result
they will no longer part of CompositeWidgetClass as of X11R3.  Widget
sets desiring to implement focus management will be expected to sub-class
Composite and add the desired methods (move_focus_to_next, move_focus_right,
move_focus_to_home, ...).

     I would like to do so for the "Form" widget. How would the form know
     which children would be interrested in the focus, do I have to create
     a new constraint field to indicate this (do I have to subclass form
     to do that).

The accept_focus method is supposed to be the indicator for this.
(class->core.accept_focus != NULL) is intended to be the indicator that
the child is interested in having the input focus.  X11R2/Xaw did not
implement this.

        BTW I have created a horizontally paned widget from the sources of
     the Athena verically paned widget. Currently it duplicates a lot of code,
     eventually I plan to merge these two into a single widget. Is there
     any other interrest in this work.

Yes, we are interested.  My plan (as yet un-implemented) was to have
a superclass PanedWidgetClass to hold the common code.