















        Appendix B.  OOSSFF//MMoottiiff LLeevveell OOnnee CCeerrttiiffiiccaattiioonn CChheecckklliisstt








             The _O_S_F/_M_o_t_i_f _L_e_v_e_l _O_n_e _C_e_r_t_i_f_i_c_a_t_i_o_n _C_h_e_c_k_l_i_s_t
             (Revision 1.2) provides the list of requirements for
             OSF/Motif application-level certification.  In order
             for your application to be certified _O_S_F/_M_o_t_i_f _S_t_y_l_e
             _G_u_i_d_e compliant, it must behave according to these
             requirements.  You certify your own application by
             comparing its behavior with that specified in the
             Checklist.  For each Checklist item, check YYeess only if
             your application performs exactly as described for that
             item.  If you have not implemented a specified type of
             behavior in any manner anywhere in your application,
             you may mark NN//AA (not applicable) for the items
             pertaining to that behavior.

             The Checklist describes keys using a model keyboard
             mechanism.  Wherever keyboard input is specified, the
             keys are indicated by the engravings that they have on
             the OSF/Motif model keyboard.  Mouse buttons are
             described using a virtual button mechanism to better
             describe behavior independent from the number of
             buttons on the mouse.  For more information on the
             model keyboard and virtual button mechanisms, consult
             the Preface and Section 2.2.1 of this guide.

             By default, this Checklist assumes that your
             application is being designed for a left-to-right
             language environment in an English-language locale.
             Some sections of the Checklist may require appropriate
             changes for other locales.






        August 26, 1994                                          B-1







        OSF/Motif Style Guide


             As you compare the behavior of your application to the
             requirements in the Checklist, we recommend that you
             follow along in the _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e (Revision
             1.2).  For each Checklist item, corresponding section
             numbers in the guide have been provided for your
             convenience.  Each item in the Checklist is also
             followed by a brief explanation and/or justification.
             If you do not understand a particular item, refer to
             the appropriate section in the guide and check the
             glossary in the guide for any terms that are unclear.



        B.1  PPrreeffaaccee



             YYeess NN//AA NNoo

             _ _ _11--11::            Each of the nonoptional keys
                                 described on the OSF/Motif model
                                 keyboard is available either as
                                 specified or by using other keys or
                                 key combinations if the specified
                                 key is unavailable (Preface).

                                 _T_h_e _m_o_d_e_l _k_e_y_b_o_a_r_d _d_o_e_s _n_o_t
                                 _c_o_r_r_e_s_p_o_n_d _d_i_r_e_c_t_l_y _t_o _a_n_y _e_x_i_s_t_i_n_g
                                 _k_e_y_b_o_a_r_d; _r_a_t_h_e_r, _i_t _a_s_s_u_m_e_s _a
                                 _k_e_y_b_o_a_r_d _w_i_t_h _a_n _i_d_e_a_l _s_e_t _o_f _k_e_y_s.
                                 _H_o_w_e_v_e_r, _t_o _e_n_s_u_r_e _c_o_n_s_i_s_t_e_n_c_y
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s, _t_h_e
                                 _n_o_n_o_p_t_i_o_n_a_l _k_e_y_s _o_r _s_u_b_s_t_i_t_u_t_e_s _f_o_r
                                 _t_h_e_m _m_u_s_t _a_l_w_a_y_s _b_e _a_v_a_i_l_a_b_l_e.



        B.2  IInnppuutt MMooddeellss





        B.2.1  TThhee KKeeyybbooaarrdd FFooccuuss MMooddeell



             YYeess NN//AA NNoo

             _ _ _22--11::            Only one window at a time has the
                                 keyboard focus.  The window that




        B-2                                          August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 has the focus is highlighted.
                                 Within the window that has the
                                 keyboard focus, only one component
                                 at a time has the focus (Section
                                 2.1).

                                 _T_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _d_e_t_e_r_m_i_n_e_s _w_h_i_c_h
                                 _c_o_m_p_o_n_e_n_t _o_n _t_h_e _s_c_r_e_e_n _r_e_c_e_i_v_e_s
                                 _k_e_y_b_o_a_r_d _e_v_e_n_t_s.  _T_h_i_s _r_u_l_e
                                 _p_r_e_v_e_n_t_s _c_o_n_f_u_s_i_o_n _a_b_o_u_t _w_h_i_c_h
                                 _w_i_n_d_o_w _a_n_d _c_o_m_p_o_n_e_n_t _h_a_v_e _t_h_e
                                 _f_o_c_u_s.

             _ _ _22--22::            When your application uses an
                                 explicit focus policy, pressing
                                 BBSSeelleecctt does not move focus to a
                                 component that is not traversable
                                 or does not accept input (Section
                                 2.1.2).

                                 _A_n _e_x_p_l_i_c_i_t _f_o_c_u_s _p_o_l_i_c_y _r_e_q_u_i_r_e_s
                                 _t_h_e _u_s_e_r _t_o _e_x_p_l_i_c_i_t_l_y _s_e_l_e_c_t _w_h_i_c_h
                                 _w_i_n_d_o_w _o_r _c_o_m_p_o_n_e_n_t _r_e_c_e_i_v_e_s _t_h_e
                                 _k_e_y_b_o_a_r_d _f_o_c_u_s.  _G_e_n_e_r_a_l_l_y, _t_h_e
                                 _u_s_e_r _g_i_v_e_s _t_h_e _f_o_c_u_s _t_o _a _w_i_n_d_o_w _o_r
                                 _c_o_m_p_o_n_e_n_t _b_y _p_r_e_s_s_i_n_g BBSSeelleecctt _o_v_e_r
                                 _i_t.  _H_o_w_e_v_e_r, _t_h_i_s _p_o_l_i_c_y _m_u_s_t _n_o_t
                                 _a_l_l_o_w _t_h_e _u_s_e_r _t_o _g_i_v_e _f_o_c_u_s _t_o _a
                                 _c_o_m_p_o_n_e_n_t _t_h_a_t _i_s _n_o_t _t_r_a_v_e_r_s_a_b_l_e
                                 _o_r _d_o_e_s _n_o_t _a_c_c_e_p_t _i_n_p_u_t.

             _ _ _22--33::            When your application uses an
                                 explicit focus policy, the
                                 component with the keyboard focus
                                 is highlighted by a location cursor
                                 (Section 2.1.2).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _k_n_o_w _t_h_e _l_o_c_a_t_i_o_n
                                 _o_f _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _t_o _b_e _a_b_l_e _t_o
                                 _c_o_n_t_r_o_l _a_n _a_p_p_l_i_c_a_t_i_o_n.



        B.2.2  TThhee IInnppuutt DDeevviiccee MMooddeell



             YYeess NN//AA NNoo

             _ _ _22--44::            Your application supports methods
                                 of interaction for keyboard-only




        August 26, 1994                                          B-3







        OSF/Motif Style Guide


                                 users.  All features of your
                                 application are available from the
                                 keyboard (Section 2.2).

                                 _S_o_m_e _u_s_e_r_s _m_a_y _n_o_t _h_a_v_e _a_c_c_e_s_s _t_o _a
                                 _p_o_i_n_t_i_n_g _d_e_v_i_c_e.  _T_h_e_s_e _u_s_e_r_s _n_e_e_d
                                 _t_o _b_e _a_b_l_e _t_o _a_c_c_e_s_s _t_h_e _f_u_l_l
                                 _f_u_n_c_t_i_o_n_a_l_i_t_y _o_f _t_h_e _a_p_p_l_i_c_a_t_i_o_n
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.  _A_d_d_i_t_i_o_n_a_l_l_y,
                                 _a_d_v_a_n_c_e_d _u_s_e_r_s _w_i_l_l _b_e _a_b_l_e _t_o _u_s_e
                                 _t_h_e _k_e_y_b_o_a_r_d _t_o _p_e_r_f_o_r_m _s_o_m_e _t_a_s_k_s
                                 _m_o_r_e _q_u_i_c_k_l_y _t_h_a_n _w_i_t_h _a _p_o_i_n_t_i_n_g
                                 _d_e_v_i_c_e.

             _ _ _22--55::            Your application uses the following
                                 bindings for mouse buttons (Section
                                 2.2.1):

                                    +o BBSSeelleecctt, used for selection,
                                      activation, and setting the
                                      location cursor, is the
                                      leftmost button, except for
                                      left-handed users, where it
                                      can be the rightmost button.

                                    +o BBTTrraannssffeerr, used for moving and
                                      copying elements, is the
                                      middle mouse button, unless
                                      dragging is integrated with
                                      selection or the mouse has
                                      fewer than three buttons.

                                    +o BBMMeennuu, used for popping up
                                      Menus, is the rightmost
                                      button, except for left-handed
                                      users, where is can be the
                                      leftmost button, or unless the
                                      mouse has fewer than three
                                      buttons.  If the mouse has one
                                      button, BBMMeennuu is bound to
                                      <<AAlltt>> BBSSeelleecctt.

                                 _T_h_e_s_e _b_i_n_d_i_n_g_s _e_n_s_u_r_e _a _c_o_n_s_i_s_t_e_n_t
                                 _i_n_t_e_r_f_a_c_e _f_o_r _u_s_i_n_g _s_t_a_n_d_a_r_d
                                 _m_o_u_s_e-_b_a_s_e_d _o_p_e_r_a_t_i_o_n_s _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _22--66::            Your application does not warp the
                                 pointer unless you have given the
                                 user a means of disabling the
                                 behavior (Section 2.2.4).




        B-4                                          August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _T_h_e _p_o_i_n_t_e_r _p_o_s_i_t_i_o_n _i_s _i_n_t_e_n_d_e_d
                                 _o_n_l_y _a_s _i_n_p_u_t _t_o _a_p_p_l_i_c_a_t_i_o_n_s, _n_o_t
                                 _a_s _a_n _o_u_t_p_u_t _m_e_c_h_a_n_i_s_m.  _A_n
                                 _a_p_p_l_i_c_a_t_i_o_n wwaarrppss _t_h_e _p_o_i_n_t_e_r _w_h_e_n
                                 _i_t _c_h_a_n_g_e_s _t_h_e _p_o_i_n_t_e_r'_s _p_o_s_i_t_i_o_n.
                                 _T_h_i_s _p_r_a_c_t_i_c_e _i_s _c_o_n_f_u_s_i_n_g _t_o _u_s_e_r_s
                                 _a_n_d _r_e_d_u_c_e_s _t_h_e_i_r _s_e_n_s_e _o_f _c_o_n_t_r_o_l
                                 _o_v_e_r _a_n _a_p_p_l_i_c_a_t_i_o_n.  _W_a_r_p_i_n_g _t_h_e
                                 _p_o_i_n_t_e_r _c_a_n _a_l_s_o _c_a_u_s_e _p_r_o_b_l_e_m_s _f_o_r
                                 _u_s_e_r_s _o_f _a_b_s_o_l_u_t_e _l_o_c_a_t_i_o_n _p_o_i_n_t_i_n_g
                                 _d_e_v_i_c_e_s.



        B.3  NNaavviiggaattiioonn





        B.3.1  MMoouussee--BBaasseedd NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ _33--11::            When the keyboard focus policy is
                                 explicit, pressing BBSSeelleecctt on a
                                 component moves focus to it, except
                                 for components, such as ScrollBars,
                                 that are used to adjust the size
                                 and location of other elements
                                 (Section 3.1).

                                 BBSSeelleecctt _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _u_s_i_n_g _t_h_e _m_o_u_s_e _t_o
                                 _m_o_v_e _f_o_c_u_s _w_h_e_n _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s
                                 _p_o_l_i_c_y _i_s _e_x_p_l_i_c_i_t.

             _ _ _33--22::            When the pointer is on a Menu, your
                                 application uses BBSSeelleecctt PPrreessss to
                                 activate the Menu in a spring-
                                 loaded manner (Section 3.1).

                                 _A _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u _i_s _o_n_e _t_h_a_t
                                 _a_p_p_e_a_r_s _w_h_e_n _t_h_e _u_s_e_r _p_r_e_s_s_e_s _a
                                 _m_o_u_s_e _b_u_t_t_o_n, _r_e_m_a_i_n_s _o_n _t_h_e _s_c_r_e_e_n
                                 _f_o_r _a_s _l_o_n_g _a_s _t_h_e _b_u_t_t_o_n _i_s
                                 _p_r_e_s_s_e_d, _a_n_d _d_i_s_a_p_p_e_a_r_s _w_h_e_n _t_h_e
                                 _u_s_e_r _r_e_l_e_a_s_e_s _t_h_e _b_u_t_t_o_n.  BBSSeelleecctt,
                                 _t_h_e _f_i_r_s_t _m_o_u_s_e _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a




        August 26, 1994                                          B-5







        OSF/Motif Style Guide


                                 _m_e_a_n_s _o_f _a_c_t_i_v_a_t_i_n_g _s_p_r_i_n_g-_l_o_a_d_e_d
                                 _M_e_n_u_s _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _33--33::            When the pointer is in an element
                                 with an inactive Popup Menu and the
                                 context of the element allows the
                                 Popup Menu to be displayed, your
                                 application uses BBMMeennuu PPrreessss to
                                 activate the Popup Menu in a
                                 spring-loaded manner (Section 3.1).

                                 _T_h_e _a_v_a_i_l_a_b_i_l_i_t_y _o_f _a _P_o_p_u_p _M_e_n_u
                                 _c_a_n _d_e_p_e_n_d _o_n _t_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e
                                 _p_o_i_n_t_e_r _w_i_t_h_i_n _a_n _e_l_e_m_e_n_t, _t_h_e
                                 _c_o_n_t_e_n_t_s _o_f _a_n _e_l_e_m_e_n_t, _o_r _t_h_e
                                 _s_e_l_e_c_t_i_o_n _s_t_a_t_e _o_f _a_n _e_l_e_m_e_n_t.
                                 BBMMeennuu, _t_h_e _t_h_i_r_d _m_o_u_s_e _b_u_t_t_o_n,
                                 _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _s_p_r_i_n_g-_l_o_a_d_e_d _P_o_p_u_p
                                 _M_e_n_u.

             _ _ _33--44::            If the user takes an action to post
                                 a Popup Menu, and a Menu can be
                                 posted for both an inner element
                                 and an outer element that contains
                                 the inner element, the Popup Menu
                                 for the internal element is posted
                                 (Section 3.1).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_a_t _t_h_e
                                 _P_o_p_u_p _M_e_n_u _f_o_r _a_n _i_n_t_e_r_n_a_l _e_l_e_m_e_n_t
                                 _i_s _a_l_w_a_y_s _a_c_c_e_s_s_i_b_l_e.

             _ _ _33--55::            Once a Popup Menu is posted, BBMMeennuu
                                 behaves just as BBSSeelleecctt does for
                                 any Menu system (Section 3.1).

                                 _T_h_e _s_p_e_c_i_f_i_e_d _o_p_e_r_a_t_i_o_n _o_f BBMMeennuu _i_s
                                 _f_o_r _m_a_n_i_p_u_l_a_t_i_n_g _P_o_p_u_p _M_e_n_u_s.

             _ _ _33--66::            BBSSeelleecctt is also available from
                                 within posted Popup Menus and
                                 behaves just as in any Menu system
                                 (Section 3.1).

                                 _O_n_c_e _a _P_o_p_u_p _M_e_n_u _i_s _p_o_s_t_e_d, _t_h_e
                                 _u_s_e_r _c_a_n _s_e_l_e_c_t _a_n _e_l_e_m_e_n_t _f_r_o_m _i_t
                                 _u_s_i_n_g _t_h_e _s_t_a_n_d_a_r_d _s_e_l_e_c_t_i_o_n
                                 _m_e_c_h_a_n_i_s_m, BBSSeelleecctt.





        B-6                                          August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ _33--77::            When a Menu is popped up or pulled
                                 down in a posted manner, your
                                 application places the location
                                 cursor on the Menu's default entry,
                                 or on the first entry in the Menu
                                 if there is no default entry
                                 (Section 3.1).

                                 _A _p_o_s_t_e_d _M_e_n_u _r_e_m_a_i_n_s _v_i_s_i_b_l_e _u_n_t_i_l
                                 _i_t _i_s _e_x_p_l_i_c_i_t_l_y _u_n_p_o_s_t_e_d.  _P_l_a_c_i_n_g
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _o_n _t_h_e _d_e_f_a_u_l_t
                                 _e_n_t_r_y _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _s_e_l_e_c_t _t_h_e
                                 _d_e_f_a_u_l_t _o_p_e_r_a_t_i_o_n _e_a_s_i_l_y.  _W_h_e_n
                                 _t_h_e_r_e _i_s _n_o _d_e_f_a_u_l_t _e_n_t_r_y, _p_l_a_c_i_n_g
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _o_n _t_h_e _f_i_r_s_t
                                 _e_n_t_r_y _y_i_e_l_d_s _u_n_i_f_o_r_m _b_e_h_a_v_i_o_r
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _33--88::            Your application removes a spring-
                                 loaded Menu system when the mouse
                                 button that activated it is
                                 released, except when the button is
                                 released on a CascadeButton in the
                                 Menu hierarchy (Section 3.1).

                                 _T_h_e _c_o_n_c_e_p_t _o_f _a _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u
                                 _s_y_s_t_e_m _r_e_q_u_i_r_e_s _t_h_a_t _t_h_e _M_e_n_u
                                 _d_i_s_a_p_p_e_a_r _w_h_e_n _t_h_e _m_o_u_s_e _b_u_t_t_o_n _i_s
                                 _r_e_l_e_a_s_e_d.

             _ _ _33--99::            While a spring-loaded Menu system
                                 is popped up or pulled down, moving
                                 the pointer within the Menu system
                                 moves the location cursor to track
                                 the pointer (Section 3.1).

                                 _O_n_c_e _a _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u _s_y_s_t_e_m
                                 _h_a_s _a_p_p_e_a_r_e_d _o_n _t_h_e _s_c_r_e_e_n, _t_h_e
                                 _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o _m_a_n_e_u_v_e_r
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _t_h_r_o_u_g_h _t_h_e
                                 _M_e_n_u _s_y_s_t_e_m _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 33_--1100::            When a spring-loaded Menu system is
                                 popped up or pulled down and the
                                 pointer rests on a CascadeButton,
                                 the associated Menu is pulled down
                                 and becomes traversable.  The
                                 associated Menu is removed,
                                 possibly after a short delay, when
                                 the pointer moves to a Menu item
                                 outside of the Menu or its




        August 26, 1994                                          B-7







        OSF/Motif Style Guide


                                 CascadeButton (Section 3.1).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o _u_s_e
                                 _t_h_e _m_o_u_s_e _t_o _a_c_c_e_s_s _a_l_l _o_f _t_h_e
                                 _a_s_s_o_c_i_a_t_e_d _M_e_n_u_s _o_f _a _M_e_n_u _s_y_s_t_e_m.
                                 _T_h_i_s _f_e_a_t_u_r_e _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _m_o_v_e _q_u_i_c_k_l_y _t_o _a_n_y _M_e_n_u _i_n _a _M_e_n_u
                                 _s_y_s_t_e_m.

             _ _ 33_--1111::            When a spring-loaded Menu system
                                 that is part of the MenuBar is
                                 pulled down, moving the pointer to
                                 any other element on the MenuBar
                                 unposts the current Menu system and
                                 posts the Pulldown Menu associated
                                 with the new element (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _s_p_r_i_n_g-_l_o_a_d_e_d
                                 _M_e_n_u _s_y_s_t_e_m _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _b_r_o_w_s_e _q_u_i_c_k_l_y _t_h_r_o_u_g_h _a_l_l _o_f _t_h_e
                                 _M_e_n_u_s _a_t_t_a_c_h_e_d _t_o _a _M_e_n_u_B_a_r.

             _ _ 33_--1122::            When a spring-loaded Menu system is
                                 popped up or pulled down, and the
                                 button that activated the Menu
                                 system is released within a
                                 component in the Menu system, that
                                 component is activated.  If the
                                 release is on a CascadeButton or an
                                 OptionButton, the associated Menu
                                 is activated in a posted manner if
                                 it was not posted prior to the
                                 associated button press (Section
                                 3.1).

                                 _R_e_l_e_a_s_i_n_g _t_h_e _m_o_u_s_e _b_u_t_t_o_n _t_h_a_t
                                 _a_c_t_i_v_a_t_e_d _a _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u
                                 _p_r_o_v_i_d_e_s _a _m_e_a_n_s _o_f _a_c_t_i_v_a_t_i_n_g _a
                                 _M_e_n_u _e_l_e_m_e_n_t _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 33_--1133::            When the pointer is in an area with
                                 a Popup Menu, your application uses
                                 BBMMeennuu CClliicckk to activate the Menu in
                                 a posted manner if it was not
                                 posted prior to the BBMMeennuu CClliicckk
                                 (Section 3.1).

                                 BBMMeennuu CClliicckk _p_r_o_v_i_d_e_s _a _m_e_a_n_s _o_f
                                 _p_o_s_t_i_n_g _a _P_o_p_u_p _M_e_n_u _t_h_a_t _i_s
                                 _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.




        B-8                                          August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ 33_--1144::            Once a Pulldown or Option Menu is
                                 posted, BBSSeelleecctt PPrreessss in the Menu
                                 system causes the Menu to behave as
                                 a spring-loaded Menu (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _p_o_s_t_e_d _P_u_l_l_d_o_w_n
                                 _o_r _O_p_t_i_o_n _M_e_n_u _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _s_w_i_t_c_h _e_a_s_i_l_y _b_e_t_w_e_e_n _u_s_i_n_g _a
                                 _p_o_s_t_e_d _M_e_n_u _a_n_d _a _s_p_r_i_n_g-_l_o_a_d_e_d
                                 _M_e_n_u.

             _ _ 33_--1155::            If a button press unposts a Menu
                                 and that button press is not also
                                 passed to the underlying component,
                                 subsequent events up to and
                                 including the button release are
                                 not passed to the underlying
                                 component (Section 3.1).

                                 _W_h_e_n _a _b_u_t_t_o_n _p_r_e_s_s _u_n_p_o_s_t_s _a _M_e_n_u,
                                 _t_h_e _p_r_e_s_s _c_a_n _b_e _p_a_s_s_e_d _t_o _t_h_e
                                 _u_n_d_e_r_l_y_i_n_g _c_o_m_p_o_n_e_n_t.  _W_h_e_t_h_e_r _o_r
                                 _n_o_t _i_t _i_s _p_a_s_s_e_d _t_o _t_h_e _u_n_d_e_r_l_y_i_n_g
                                 _c_o_m_p_o_n_e_n_t, _t_h_e _p_r_e_s_s _c_a_n _h_a_v_e
                                 _a_d_d_i_t_i_o_n_a_l _e_f_f_e_c_t_s, _s_u_c_h _a_s _r_a_i_s_i_n_g
                                 _a_n_d _g_i_v_i_n_g _f_o_c_u_s _t_o _t_h_e _u_n_d_e_r_l_y_i_n_g
                                 _w_i_n_d_o_w.  _I_f _t_h_e _p_r_e_s_s _i_s _n_o_t _p_a_s_s_e_d
                                 _t_o _t_h_e _u_n_d_e_r_l_y_i_n_g _c_o_m_p_o_n_e_n_t, _e_v_e_n_t_s
                                 _u_p _t_o _a_n_d _i_n_c_l_u_d_i_n_g _t_h_e _r_e_l_e_a_s_e
                                 _m_u_s_t _n_o_t _b_e _p_a_s_s_e_d _t_o _t_h_a_t
                                 _c_o_m_p_o_n_e_n_t.

             _ _ 33_--1166::            Once a Popup Menu is posted,
                                 BBSSeelleecctt PPrreessss or BBMMeennuu PPrreessss in the
                                 Menu system causes the Menu to
                                 behave as a spring-loaded Menu
                                 (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _p_o_s_t_e_d _P_o_p_u_p _M_e_n_u
                                 _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _s_w_i_t_c_h _e_a_s_i_l_y
                                 _b_e_t_w_e_e_n _u_s_i_n_g _a _p_o_s_t_e_d _M_e_n_u _a_n_d _a
                                 _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u.













        August 26, 1994                                          B-9







        OSF/Motif Style Guide


        B.3.2  KKeeyybbooaarrdd--BBaasseedd NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ 33_--1177::            In a Text component, the text
                                 cursor is shown differently when
                                 the component does and does not
                                 have the keyboard focus (Section
                                 3.2.1).

                                 _I_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t, _t_h_e _t_e_x_t
                                 _c_u_r_s_o_r _s_e_r_v_e_s _a_s _t_h_e _l_o_c_a_t_i_o_n
                                 _c_u_r_s_o_r _a_n_d _t_h_e_r_e_f_o_r_e _m_u_s_t _i_n_d_i_c_a_t_e
                                 _w_h_e_t_h_e_r _o_r _n_o_t _t_h_e _c_o_m_p_o_n_e_n_t _h_a_s
                                 _k_e_y_b_o_a_r_d _f_o_c_u_s.

             _ _ 33_--1188::            If a Text component indicates that
                                 it has lost the keyboard focus by
                                 hiding the text cursor and if the
                                 component subsequently regains the
                                 focus, the cursor reappears at the
                                 same position it had when the
                                 component lost focus (Section
                                 3.2.1).

                                 _T_o _e_n_s_u_r_e _p_r_e_d_i_c_t_a_b_i_l_i_t_y, _i_t _i_s
                                 _i_m_p_o_r_t_a_n_t _t_h_a_t _t_h_e _t_e_x_t _c_u_r_s_o_r _n_o_t
                                 _c_h_a_n_g_e _p_o_s_i_t_i_o_n _w_h_e_n _a _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t _l_o_s_e_s _a_n_d _t_h_e_n _r_e_g_a_i_n_s
                                 _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s.

             _ _ 33_--1199::            If a small component, such as a
                                 Sash, indicates that it has the
                                 keyboard focus by filling, no other
                                 meaning is associated with the
                                 filled state (Section 3.2.1).

                                 _T_h_i_s _r_u_l_e _r_e_d_u_c_e_s _p_o_s_s_i_b_l_e
                                 _c_o_n_f_u_s_i_o_n _a_b_o_u_t _t_h_e _s_i_g_n_i_f_i_c_a_n_c_e _o_f
                                 _f_i_l_l_i_n_g _i_n _a _s_m_a_l_l _c_o_m_p_o_n_e_n_t.

             _ _ 33_--2200::            All components are designed and
                                 positioned within your application
                                 so that adding and removing each
                                 component's location cursor do not
                                 change the amount of space that the
                                 component takes up on the screen
                                 (Section 3.2.1).





        B-10                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _F_o_r _v_i_s_u_a_l _c_o_n_s_i_s_t_e_n_c_y, _t_h_e _s_i_z_e_s
                                 _a_n_d _p_o_s_i_t_i_o_n_s _o_f _c_o_m_p_o_n_e_n_t_s _s_h_o_u_l_d
                                 _n_o_t _c_h_a_n_g_e _w_h_e_n _k_e_y_b_o_a_r_d _f_o_c_u_s
                                 _m_o_v_e_s _f_r_o_m _o_n_e _c_o_m_p_o_n_e_n_t _t_o
                                 _a_n_o_t_h_e_r.

             _ _ 33_--2211::            <<CCttrrll>> <<TTaabb>> moves the location
                                 cursor to the next field, and
                                 <<CCttrrll>> <<SShhiifftt>> <<TTaabb>> moves the
                                 location cursor to the previous
                                 field.  Unless <<TTaabb>> and <<SShhiifftt>>
                                 <<TTaabb>> are used for internal
                                 navigation within a field, <<TTaabb>>
                                 also moves the location cursor to
                                 the next field, and <<SShhiifftt>> <<TTaabb>>
                                 also moves the location cursor to
                                 the previous field (Section 3.2.3).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g _f_i_e_l_d_s _i_n
                                 _a _w_i_n_d_o_w.

             _ _ 33_--2222::            <<TTaabb>> (if not used for internal
                                 navigation) and <<CCttrrll>> <<TTaabb>> move
                                 the location cursor forward through
                                 fields in a window according to the
                                 following rules (Section 3.2.3):

                                    +o If the next field is a
                                      control, <<TTaabb>> (if not used
                                      for internal navigation) and
                                      <<CCttrrll>> <<TTaabb>> move the location
                                      cursor to that control.

                                    +o If the next field is a group,
                                      <<TTaabb>> (if not used for
                                      internal navigation) and
                                      <<CCttrrll>> <<TTaabb>> move the location
                                      cursor to a traversable
                                      component within the group.

                                    +o If the next field contains no
                                      traversable components, <<TTaabb>>
                                      (if not used for internal
                                      navigation) and <<CCttrrll>> <<TTaabb>>
                                      skip the field.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e _c_o_n_s_i_s_t_e_n_t
                                 _o_p_e_r_a_t_i_o_n _o_f <<TTaabb>> (_i_f _n_o_t _u_s_e_d _f_o_r
                                 _i_n_t_e_r_n_a_l _n_a_v_i_g_a_t_i_o_n) _a_n_d <<CCttrrll>>
                                 <<TTaabb>> _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.




        August 26, 1994                                         B-11







        OSF/Motif Style Guide


             _ _ 33_--2233::            <<SShhiifftt>> <<TTaabb>> (if not used for
                                 internal navigation) and <<CCttrrll>>
                                 <<SShhiifftt>> <<TTaabb>> move the location
                                 cursor backward through fields in
                                 the order opposite to that of <<TTaabb>>
                                 (if not used for internal
                                 navigation) and <<CCttrrll>> <<TTaabb>>
                                 (Section 3.2.3).

                                 _T_h_e_s_e _r_u_l_e_s _r_e_s_u_l_t _i_n _t_h_e _u_n_i_f_o_r_m
                                 _o_p_e_r_a_t_i_o_n _o_f <<SShhiifftt>> <<TTaabb>> (_i_f _n_o_t
                                 _u_s_e_d _f_o_r _i_n_t_e_r_n_a_l _n_a_v_i_g_a_t_i_o_n) _a_n_d
                                 <<CCttrrll>> <<SShhiifftt>> <<TTaabb>> _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 33_--2244::            When a window acquires focus, the
                                 location cursor is placed on the
                                 control that last had focus in the
                                 window, providing that all the
                                 following conditions are met
                                 (Section 3.2.3):

                                    +o The window uses an explicit
                                      keyboard focus policy.

                                    +o The window acquires the focus
                                      through keyboard navigation or
                                      through a button press other
                                      than within the client area of
                                      the window.

                                    +o The window had the focus at
                                      some time in the past.

                                    +o The control that last had
                                      focus in the window is still
                                      traversable.

                                 _T_h_i_s _r_u_l_e _e_n_s_u_r_e_s _t_h_a_t _w_h_e_n _t_h_e
                                 _u_s_e_r _r_e_t_u_r_n_s _t_o _a _w_i_n_d_o_w _a_f_t_e_r
                                 _n_a_v_i_g_a_t_i_n_g _a_w_a_y, _t_h_e _f_o_c_u_s _r_e_t_u_r_n_s
                                 _t_o _t_h_e _c_o_m_p_o_n_e_n_t _w_h_e_r_e _t_h_e _u_s_e_r
                                 _l_e_f_t _i_t.

             _ _ 33_--2255::            Field navigation wraps between the
                                 first and last fields in the
                                 window.  (Section 3.2.3).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _f_i_e_l_d _n_a_v_i_g_a_t_i_o_n
                                 _p_r_o_v_i_d_e_s _t_h_e _u_s_e_r _w_i_t_h _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _m_o_v_e _t_h_r_o_u_g_h _a_l_l _o_f _t_h_e




        B-12                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _f_i_e_l_d_s _i_n _a _w_i_n_d_o_w.

             _ _ 33_--2266::            When <<||vv>> and <<||^^>> are used for
                                 component navigation within a
                                 field, they behave according to the
                                 following rules (Section 3.2.3):

                                    +o In a left-to-right language
                                      environment, <<||vv>> moves the
                                      location cursor through all
                                      traversable controls in the
                                      field, starting at the upper
                                      left and ending at the lower
                                      right, then wrapping to the
                                      upper left.  If the controls
                                      are aligned in a matrix-like
                                      arrangement, <<||vv>> first
                                      traverses one column from top
                                      to bottom, then traverses the
                                      column to its right, and so
                                      on.  In a right-to-left
                                      language environment, <<||vv>>
                                      moves the location cursor
                                      through all traversable
                                      controls, starting at the
                                      upper right and ending at the
                                      lower left.

                                    +o <<||^^>> moves the location cursor
                                      through all traversable
                                      controls in the field in the
                                      order opposite to that of <<||vv>>.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g
                                 _c_o_m_p_o_n_e_n_t_s _u_s_i_n_g _t_h_e _d_i_r_e_c_t_i_o_n_a_l
                                 _k_e_y_s.

             _ _ 33_--2277::            When <<-->>>> and <<<<-->> are used for
                                 component navigation within a
                                 field, they behave according to the
                                 following rules (Section 3.2.3):

                                    +o In a left-to-right language
                                      environment, <<-->>>> moves the
                                      location cursor through all
                                      traversable controls in the
                                      field, starting at the upper
                                      left and ending at the lower
                                      right, then wrapping to the
                                      upper left.  If the controls




        August 26, 1994                                         B-13







        OSF/Motif Style Guide


                                      are aligned in a matrix-like
                                      arrangement, <<-->>>> first
                                      traverses one row from left to
                                      right, then traverses the row
                                      below it, and so on.  In a
                                      right-to-left language
                                      environment, <<-->>>> moves the
                                      location cursor through all
                                      traversable controls, starting
                                      at the lower left and ending
                                      at the upper right.

                                    +o <<<<-->> moves the location cursor
                                      through all traversable
                                      controls in the field in the
                                      order opposite to that of
                                      <<-->>>>.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g
                                 _c_o_m_p_o_n_e_n_t_s _u_s_i_n_g _t_h_e _d_i_r_e_c_t_i_o_n_a_l
                                 _k_e_y_s.

             _ _ 33_--2288::            If a control uses <<-->>>> and <<<<-->> for
                                 internal navigation, <<BBeeggiinn>> moves
                                 the location cursor to the leftmost
                                 edge of the data or the leftmost
                                 element in a left-to-right language
                                 environment.  In a right-to-left
                                 language environment, <<BBeeggiinn>> moves
                                 the location cursor to the
                                 rightmost edge of the data or the
                                 rightmost element (Section 3.2.3).

                                 _T_h_i_s _r_u_l_e _p_e_r_m_i_t_s _c_o_n_v_e_n_i_e_n_t
                                 _n_a_v_i_g_a_t_i_o_n _t_o _t_h_e _l_e_f_t _o_r _r_i_g_h_t
                                 _e_d_g_e _o_f _t_h_e _d_a_t_a _o_r _t_h_e _l_e_f_t _o_r
                                 _r_i_g_h_t _e_l_e_m_e_n_t _i_n _a _c_o_n_t_r_o_l.

             _ _ 33_--2299::            If a control uses <<-->>>> and <<<<-->> for
                                 internal navigation, <<EEnndd>> moves
                                 the location cursor to the
                                 rightmost edge of the data or the
                                 rightmost element in a left-to-
                                 right language environment.  In a
                                 right-to-left language environment,
                                 <<EEnndd>> moves the location cursor to
                                 the leftmost edge of the data or
                                 the leftmost element (Section
                                 3.2.3).





        B-14                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _T_h_i_s _r_u_l_e _p_e_r_m_i_t_s _c_o_n_v_e_n_i_e_n_t
                                 _n_a_v_i_g_a_t_i_o_n _t_o _t_h_e _l_e_f_t _o_r _r_i_g_h_t
                                 _e_d_g_e _o_f _t_h_e _d_a_t_a _o_r _t_h_e _l_e_f_t _o_r
                                 _r_i_g_h_t _e_l_e_m_e_n_t _i_n _a _c_o_n_t_r_o_l.

             _ _ 33_--3300::            If a control uses <<||^^>> and <<||vv>> for
                                 internal navigation, <<CCttrrll>> <<BBeeggiinn>>
                                 moves the location cursor to one of
                                 the following (Section 3.2.3):

                                    +o The first element

                                    +o The topmost edge of the data

                                    +o In a left-to-right language
                                      environment, the topmost left
                                      edge of the data; in a right-
                                      to-left language environment,
                                      the topmost right edge of the
                                      data

                                 _T_h_i_s _r_u_l_e _p_e_r_m_i_t_s _c_o_n_v_e_n_i_e_n_t
                                 _n_a_v_i_g_a_t_i_o_n _t_o _t_h_e _b_e_g_i_n_n_i_n_g _o_f _t_h_e
                                 _d_a_t_a _i_n _a _c_o_n_t_r_o_l.

             _ _ 33_--3311::            If a control uses <<||^^>> and <<||vv>> for
                                 internal navigation, <<CCttrrll>> <<EEnndd>>
                                 moves the location cursor to one of
                                 the following (Section 3.2.3):

                                    +o The last element

                                    +o The bottommost edge of the
                                      data

                                    +o In a left-to-right language
                                      environment, the bottommost
                                      right edge of the data; in a
                                      right-to-left language
                                      environment, the bottommost
                                      left edge of the data

                                 _T_h_i_s _r_u_l_e _p_e_r_m_i_t_s _c_o_n_v_e_n_i_e_n_t
                                 _n_a_v_i_g_a_t_i_o_n _t_o _t_h_e _e_n_d _o_f _t_h_e _d_a_t_a
                                 _i_n _a _c_o_n_t_r_o_l.










        August 26, 1994                                         B-15







        OSF/Motif Style Guide


        B.3.3  MMeennuu TTrraavveerrssaall



             YYeess NN//AA NNoo

             _ _ 33_--3322::            If the user traverses to a Menu
                                 while the keyboard focus policy is
                                 implicit, the focus policy
                                 temporarily changes to explicit and
                                 reverts to implicit whenever the
                                 user traverses out of the Menu
                                 system (Section 3.3).

                                 _M_e_n_u_s _m_u_s_t _a_l_w_a_y_s _b_e _t_r_a_v_e_r_s_a_b_l_e,
                                 _e_v_e_n _w_h_e_n _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _p_o_l_i_c_y
                                 _i_s _g_e_n_e_r_a_l_l_y _i_m_p_l_i_c_i_t.

             _ _ 33_--3333::            Your application uses <<FF1100>> to
                                 activate the MenuBar system if it
                                 is inactive.  The location cursor
                                 is placed on the first traversable
                                 CascadeButton in the MenuBar.  If
                                 there are no traversable
                                 CascadeButtons, the key does
                                 nothing (Section 3.3).

                                 <<FF1100>> _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s
                                 _o_f _t_r_a_v_e_r_s_i_n_g _t_o _t_h_e _M_e_n_u_B_a_r _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 33_--3344::            When the keyboard focus is in an
                                 element with an inactive Popup Menu
                                 and the context of the element
                                 allows the Popup Menu to be
                                 displayed, your application uses
                                 <<MMeennuu>> to activate the Popup Menu.
                                 The location cursor is placed on
                                 the default item of the Menu, or on
                                 the first traversable item in the
                                 Popup Menu if there is no default
                                 item (Section 3.3).

                                 <<MMeennuu>> _p_r_o_v_i_d_e_s _a _u_n_i_f_o_r_m _w_a_y _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _P_o_p_u_p _M_e_n_u _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 33_--3355::            When the keyboard focus is in an
                                 OptionButton, your application uses
                                 <<SSeelleecctt>> or <<SSppaaccee>> to post the
                                 Option Menu.  The location cursor




        B-16                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 is placed on the previously
                                 selected item in the Option Menu;
                                 or, if the Option Menu has been
                                 pulled down for the first time, the
                                 location cursor is placed on the
                                 default item in the Menu.  If there
                                 is an active Option Menu, <<EEnntteerr>>,
                                 <<RReettuurrnn>>, <<SSeelleecctt>>, or <<SSppaaccee>>
                                 selects the current item in the
                                 Option Menu, unposts the Menu
                                 system, and returns the location
                                 cursor to the OptionButton (Section
                                 3.3).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _m_e_a_n_s _o_f
                                 _p_o_s_t_i_n_g _a_n _O_p_t_i_o_n _M_e_n_u _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 33_--3366::            Your application uses <<||vv>>, <<<<-->>,
                                 <<-->>>>, and <<||^^>> to traverse through
                                 the items in a Menu system (Section
                                 3.3).

                                 The <<||vv>>, <<<<-->>, <<-->>>>, _a_n_d <<||^^>>
                                 _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _n_a_v_i_g_a_t_i_n_g
                                 _a_m_o_n_g _i_t_e_m_s _i_n _a _M_e_n_u _s_y_s_t_e_m.

             _ _ 33_--3377::            When a Menu traversal action
                                 traverses to the next or previous
                                 component in a Menu or MenuBar, the
                                 order of traversal and the wrapping
                                 behavior are the same as that of
                                 the corresponding component
                                 navigation action within a field,
                                 as described in Section 3.2.3
                                 (Section 3.3).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _p_r_o_v_i_d_e_s
                                 _c_o_n_s_i_s_t_e_n_c_y _b_e_t_w_e_e_n _M_e_n_u _t_r_a_v_e_r_s_a_l
                                 _a_n_d _c_o_m_p_o_n_e_n_t _n_a_v_i_g_a_t_i_o_n _w_i_t_h_i_n _a
                                 _f_i_e_l_d.

             _ _ 33_--3388::            If your application uses any 2-
                                 dimensional Menus, they do not
                                 contain any CascadeButtons (Section
                                 3.3).

                                 _C_a_s_c_a_d_e_B_u_t_t_o_n_s _i_n _a _2-_d_i_m_e_n_s_i_o_n_a_l
                                 _M_e_n_u _w_o_u_l_d _r_e_s_t_r_i_c_t _t_h_e _u_s_e_r'_s




        August 26, 1994                                         B-17







        OSF/Motif Style Guide


                                 _a_b_i_l_i_t_y _t_o _n_a_v_i_g_a_t_e _t_o _a_l_l _o_f _t_h_e
                                 _e_l_e_m_e_n_t_s _o_f _t_h_e _M_e_n_u _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 33_--3399::            When focus is on a component in a
                                 Menu or MenuBar system, <<||vv>> behaves
                                 in the following way (Section 3.3):

                                    +o If the component is in a
                                      vertical or 2-dimensional
                                      Menu, traverse down to the
                                      next traversable component,
                                      wrapping within the Menu if
                                      necessary.

                                    +o If the component is in a
                                      MenuBar, and the component
                                      with the keyboard focus is a
                                      CascadeButton, post its
                                      associated Pulldown Menu and
                                      traverse to the default entry
                                      in the Menu or, if the Menu
                                      has no default, to the first
                                      traversable entry in the Menu.

                                 _T_h_i_s _r_u_l_e _r_e_s_u_l_t_s _i_n _c_o_n_s_i_s_t_e_n_t
                                 _o_p_e_r_a_t_i_o_n _o_f _t_h_e _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s
                                 _i_n _a _M_e_n_u _o_r _M_e_n_u_B_a_r _s_y_s_t_e_m.

             _ _ 33_--4400::            When focus is on a component in a
                                 Menu or MenuBar system, <<||^^>> behaves
                                 in the following way (Section 3.3):

                                 If the component is in a vertical
                                 or 2-dimensional Menu, this action
                                 traverses up to the previous
                                 traversable component, wrapping
                                 within the Menu if necessary, and
                                 proceeding in the order opposite to
                                 that of <<||vv>>.

                                 _T_h_i_s _r_u_l_e _r_e_s_u_l_t_s _i_n _c_o_n_s_i_s_t_e_n_t
                                 _o_p_e_r_a_t_i_o_n _o_f _t_h_e _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s
                                 _i_n _a _M_e_n_u _o_r _M_e_n_u_B_a_r _s_y_s_t_e_m.

             _ _ 33_--4411::            When focus is on a component in a
                                 Menu or MenuBar system, <<<<-->>
                                 behaves in the following way
                                 (Section 3.3):






        B-18                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                    +o If the component is in a
                                      MenuBar or 2-dimensional Menu,
                                      but not at the left edge,
                                      traverse left to the previous
                                      traversable component.

                                    +o If the component is at the
                                      left edge of a MenuBar, wrap
                                      within the MenuBar.

                                    +o If the component is at the
                                      left edge of a vertical or 2-
                                      dimensional Menu that is the
                                      child of a vertical or 2-
                                      dimensional Menu, unpost the
                                      current Menu and traverse to
                                      the parent CascadeButton.

                                    +o If the component is at the
                                      left edge of a vertical or 2-
                                      dimensional Menu that is the
                                      child of a MenuBar, unpost the
                                      current Menu and traverse left
                                      to the previous traversable
                                      entry in the MenuBar.  If that
                                      entry is a CascadeButton, post
                                      its associated Pulldown Menu
                                      and traverse to the default
                                      entry in the Menu or, if the
                                      Menu has no default, to the
                                      first traversable entry in the
                                      Menu.

                                 _T_h_i_s _r_u_l_e _r_e_s_u_l_t_s _i_n _c_o_n_s_i_s_t_e_n_t
                                 _o_p_e_r_a_t_i_o_n _o_f _t_h_e _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s
                                 _i_n _a _M_e_n_u _o_r _M_e_n_u_B_a_r _s_y_s_t_e_m.

             _ _ 33_--4422::            When focus is on a component in a
                                 Menu or MenuBar system, <<-->>>>
                                 behaves in the following way
                                 (Section 3.3):

                                    +o If the component is a
                                      CascadeButton in a vertical
                                      Menu, post its associated
                                      Pulldown Menu and traverse to
                                      the default entry in the Menu
                                      or, if the Menu has no
                                      default, to the first
                                      traversable entry in the Menu.





        August 26, 1994                                         B-19







        OSF/Motif Style Guide


                                    +o If the component is in a
                                      MenuBar or 2-dimensional Menu,
                                      but not at the right edge,
                                      traverse right to the next
                                      traversable component.

                                    +o If the component is at the
                                      right edge of a MenuBar, wrap
                                      within the MenuBar.

                                    +o If the component is not a
                                      CascadeButton and is at the
                                      right edge of a vertical or
                                      2-dimensional Menu, and if the
                                      current Menu has an ancestor
                                      CascadeButton (typically in a
                                      MenuBar) from which <<||vv>> posts
                                      its associated Pulldown Menu,
                                      unpost the Menu system pulled
                                      down from the nearest such
                                      ancestor CascadeButton and
                                      traverse right from that
                                      CascadeButton to the next
                                      traversable component.  If
                                      that component is a
                                      CascadeButton, post its
                                      associated Pulldown Menu and
                                      traverse to the default entry
                                      in the Menu or, if the Menu
                                      has no default, to the first
                                      traversable entry in the Menu.

                                 _T_h_i_s _r_u_l_e _r_e_s_u_l_t_s _i_n _c_o_n_s_i_s_t_e_n_t
                                 _o_p_e_r_a_t_i_o_n _o_f _t_h_e _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s
                                 _i_n _a _M_e_n_u _o_r _M_e_n_u_B_a_r _s_y_s_t_e_m.

             _ _ 33_--4433::            All Menu traversal actions, with
                                 the exception of Menu posting,
                                 traverse to TearOffButtons in the
                                 same way as for other Menu entries
                                 (Section 3.3).

                                 _T_r_a_v_e_r_s_a_l _o_f _T_e_a_r_O_f_f_B_u_t_t_o_n_s _n_e_e_d_s
                                 _t_o _b_e _c_o_n_s_i_s_t_e_n_t _w_i_t_h _t_r_a_v_e_r_s_a_l _o_f
                                 _o_t_h_e_r _M_e_n_u _i_t_e_m_s.

             _ _ 33_--4444::            If your application uses <<FF1100>>,
                                 <<MMeennuu>>, or <<CCaanncceell>> to unpost an
                                 entire Menu system and an explicit
                                 focus policy is in use, the
                                 location cursor is moved back to




        B-20                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 the component that had it before
                                 the Menu system was posted (Section
                                 3.3).

                                 _R_e_t_u_r_n_i_n_g _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _t_o
                                 _t_h_e _c_o_m_p_o_n_e_n_t _t_h_a_t _h_a_d _i_t
                                 _p_r_e_v_i_o_u_s_l_y _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _r_e_s_u_m_e _a _t_a_s_k _w_i_t_h_o_u_t _d_i_s_r_u_p_t_i_o_n.



        B.3.4  SSccrroollllaabbllee CCoommppoonneenntt NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ 33_--4455::            Any scrollable components within
                                 your application support the
                                 appropriate navigation and
                                 scrolling operations.  Your
                                 application uses the page
                                 navigation keys <<PPaaggeeUUpp>>,
                                 <<PPaaggeeDDoowwnn>>, <<PPaaggeeLLeefftt>> or <<CCttrrll>>
                                 <<PPaaggeeUUpp>>, and <<PPaaggeeRRiigghhtt>> or <<CCttrrll>>
                                 <<PPaaggeeDDoowwnn>> for scrolling the
                                 visible region by a page increment
                                 (Section 3.4).

                                 _A _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o _v_i_e_w _a_n_d
                                 _a_c_c_e_s_s _t_h_e _e_n_t_i_r_e _c_o_n_t_e_n_t_s _o_f _a
                                 _s_c_r_o_l_l_a_b_l_e _c_o_m_p_o_n_e_n_t.

             _ _ 33_--4466::            When scrolling by a page, your
                                 application leaves at least one
                                 unit of overlap between the old and
                                 new pages (Section 3.4).

                                 _T_h_e _o_v_e_r_l_a_p _b_e_t_w_e_e_n _o_n_e _p_a_g_e _a_n_d
                                 _t_h_e _n_e_x_t _y_i_e_l_d_s _v_i_s_u_a_l _c_o_n_t_i_n_u_i_t_y
                                 _f_o_r _t_h_e _u_s_e_r.

             _ _ 33_--4477::            Any keyboard operation that moves
                                 the cursor to or in the component,
                                 or that inserts, deletes, or
                                 modifies items at the cursor
                                 location scrolls the component so
                                 that the cursor is visible when the
                                 operation is complete (Section
                                 3.4).





        August 26, 1994                                         B-21







        OSF/Motif Style Guide


                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o _s_e_e
                                 _t_h_e _r_e_s_u_l_t_s _o_f _m_o_v_i_n_g _t_h_e _l_o_c_a_t_i_o_n
                                 _c_u_r_s_o_r _o_r _o_p_e_r_a_t_i_n_g _o_n _t_h_e _c_o_n_t_e_n_t_s
                                 _o_f _t_h_e _s_c_r_o_l_l_a_b_l_e _c_o_m_p_o_n_e_n_t.

             _ _ 33_--4488::            If a mouse-based scrolling action
                                 is in progress, <<CCaanncceell>> cancels
                                 the scrolling action and returns
                                 the scrolling device to its state
                                 prior to the start of the scrolling
                                 operation (Section 3.4).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t _w_a_y
                                 _f_o_r _t_h_e _u_s_e_r _t_o _c_a_n_c_e_l _a _s_c_r_o_l_l_i_n_g
                                 _o_p_e_r_a_t_i_o_n.



        B.4  SSeelleeccttiioonn





        B.4.1  SSeelleeccttiioonn MMooddeellss



             YYeess NN//AA NNoo

             _ _ _44--11::            Your system supports five selection
                                 models: single selection, browse
                                 selection, multiple selection,
                                 range selection, and discontiguous
                                 selection (Section 4.1).

                                 _E_a_c_h _c_o_l_l_e_c_t_i_o_n _h_a_s _o_n_e _o_r _m_o_r_e
                                 _a_p_p_r_o_p_r_i_a_t_e _s_e_l_e_c_t_i_o_n _m_o_d_e_l_s.  _T_h_e
                                 _m_o_d_e_l _l_i_m_i_t_s _t_h_e _k_i_n_d_s _o_f _c_h_o_i_c_e_s
                                 _t_h_e _u_s_e_r _c_a_n _m_a_k_e _i_n _t_h_e
                                 _c_o_l_l_e_c_t_i_o_n.  _S_o_m_e _c_o_l_l_e_c_t_i_o_n_s
                                 _e_n_f_o_r_c_e _a _s_e_l_e_c_t_i_o_n _m_o_d_e_l, _w_h_i_l_e
                                 _o_t_h_e_r_s _a_l_l_o_w _t_h_e _u_s_e_r _o_r
                                 _a_p_p_l_i_c_a_t_i_o_n _t_o _c_h_a_n_g_e _i_t.











        B-22                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


        B.4.1.1  MMoouussee--BBaasseedd SSiinnggllee SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _44--22::            In a collection that uses single
                                 selection, when BBSSeelleecctt is clicked
                                 in a deselected element, the
                                 location cursor moves to that
                                 element, that element is selected,
                                 and any other selection in the
                                 collection is deselected (Section
                                 4.1.1).

                                 _S_i_n_g_l_e _s_e_l_e_c_t_i_o_n _i_s _t_h_e _s_i_m_p_l_e_s_t
                                 _s_e_l_e_c_t_i_o_n _m_o_d_e_l, _u_s_e_d _t_o _s_e_l_e_c_t _a
                                 _s_i_n_g_l_e _e_l_e_m_e_n_t.  BBSSeelleecctt, _t_h_e _f_i_r_s_t
                                 _m_o_u_s_e _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _s_e_l_e_c_t_i_n_g _a_n _o_b_j_e_c_t _w_i_t_h_i_n
                                 _a _g_r_o_u_p _u_s_i_n_g _t_h_e _m_o_u_s_e.



        B.4.1.2  MMoouussee--BBaasseedd BBrroowwssee SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _44--33::            In a collection that uses browse
                                 selection, when BBSSeelleecctt is released
                                 in a selectable element, that
                                 element is selected, and any other
                                 selection in the collection is
                                 deselected.  As BBSSeelleecctt is dragged
                                 through selectable elements, each
                                 element under the pointer is
                                 selected, and the previously
                                 selected element is deselected.
                                 The selection remains on the
                                 element where BBSSeelleecctt is released,
                                 and the location cursor is moved
                                 there (Section 4.1.2).

                                 _B_r_o_w_s_e _s_e_l_e_c_t_i_o_n _i_s _u_s_e_d _t_o _s_e_l_e_c_t
                                 _a _s_i_n_g_l_e _e_l_e_m_e_n_t.  _I_t _a_l_s_o _a_l_l_o_w_s
                                 _t_h_e _u_s_e_r _t_o _b_r_o_w_s_e _t_h_r_o_u_g_h _t_h_e
                                 _c_o_l_l_e_c_t_i_o_n _b_y _d_r_a_g_g_i_n_g BBSSeelleecctt.






        August 26, 1994                                         B-23







        OSF/Motif Style Guide


        B.4.1.3  MMoouussee--BBaasseedd MMuullttiippllee SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _44--44::            In a collection that uses multiple
                                 selection, clicking BBSSeelleecctt on an
                                 unselected element adds that
                                 element to the current selection in
                                 the collection.  Clicking BBSSeelleecctt
                                 on a selected element removes that
                                 element from the current selection
                                 in the collection.  Clicking
                                 BBSSeelleecctt on an element moves the
                                 location cursor to that element
                                 (Section 4.1.3).

                                 _M_u_l_t_i_p_l_e _s_e_l_e_c_t_i_o_n _a_l_l_o_w_s _t_h_e _u_s_e_r
                                 _t_o _s_e_l_e_c_t _o_r _d_e_s_e_l_e_c_t _m_u_l_t_i_p_l_e
                                 _e_l_e_m_e_n_t_s _o_f _a _c_o_l_l_e_c_t_i_o_n, _o_n_e _a_t _a
                                 _t_i_m_e, _b_y _u_s_i_n_g BBSSeelleecctt CClliicckk.



        B.4.1.4  MMoouussee--BBaasseedd RRaannggee SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _44--55::            In a collection that uses range
                                 selection, pressing BBSSeelleecctt sets an
                                 anchor on the element, or at the
                                 position where BBSSeelleecctt was pressed,
                                 and deselects all elements in the
                                 collection.  The anchor and the
                                 current position of the pointer
                                 determine the current range.  As
                                 BBSSeelleecctt is dragged through the
                                 collection, the current range is
                                 highlighted.  When BBSSeelleecctt is
                                 released, the anchor does not move,
                                 and all the elements within the
                                 current range are selected (Section
                                 4.1.4).

                                 _R_a_n_g_e _s_e_l_e_c_t_i_o_n _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _s_e_l_e_c_t _m_u_l_t_i_p_l_e _c_o_n_t_i_g_u_o_u_s _e_l_e_m_e_n_t_s
                                 _o_f _a _c_o_l_l_e_c_t_i_o_n _b_y _p_r_e_s_s_i_n_g _a_n_d
                                 _d_r_a_g_g_i_n_g BBSSeelleecctt.




        B-24                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ _44--66::            In a text-like collection that uses
                                 range selection, the anchor point
                                 is the text pointer position when
                                 BBSSeelleecctt is pressed, and the current
                                 range consists of all elements
                                 between the anchor point and the
                                 current text pointer position
                                 (Section 4.1.4).

                                 _I_n _t_e_x_t-_l_i_k_e _c_o_l_l_e_c_t_i_o_n_s, _e_l_e_m_e_n_t_s
                                 _a_r_e _o_r_d_e_r_e_d _l_i_n_e_a_r_l_y, _a_n_d _a _t_e_x_t
                                 _p_o_i_n_t_e_r _i_s _a_l_w_a_y_s _c_o_n_s_i_d_e_r_e_d _t_o _b_e
                                 _b_e_t_w_e_e_n _e_l_e_m_e_n_t_s _a_t _a _p_o_i_n_t _n_e_a_r
                                 _t_h_e _a_c_t_u_a_l _p_o_i_n_t_e_r _p_o_s_i_t_i_o_n.

             _ _ _44--77::            In a graphics-like or list-like
                                 collection that uses a marquee to
                                 indicate the range of a range
                                 selection, the current range
                                 consists of those elements that
                                 fall completely within the marquee.
                                 If there is an anchor element, the
                                 marquee is always made large enough
                                 to enclose it completely.
                                 Otherwise, an anchor point is used
                                 and is the point at which BBSSeelleecctt
                                 was pressed; the anchor point
                                 determines one corner of the
                                 marquee.  If the collection is not
                                 arranged as a list or matrix, the
                                 marquee is extended to the pointer
                                 position.  If the collection is
                                 arranged as a list or matrix, the
                                 marquee is either extended to
                                 completely enclose the element
                                 under the pointer or extended to
                                 the pointer position.  Clicking
                                 BBSSeelleecctt on a selectable element
                                 makes it an anchor element, selects
                                 it, and deselects all other
                                 elements (Section 4.1.4).

                                 _A _m_a_r_q_u_e_e, _o_r _h_i_g_h_l_i_g_h_t_e_d
                                 _r_e_c_t_a_n_g_l_e, _i_s _o_f_t_e_n _u_s_e_d _t_o
                                 _i_n_d_i_c_a_t_e _t_h_e _r_a_n_g_e _o_f _a _s_e_l_e_c_t_i_o_n
                                 _i_n _g_r_a_p_h_i_c_s-_l_i_k_e _a_n_d _l_i_s_t-_l_i_k_e
                                 _c_o_l_l_e_c_t_i_o_n_s.

             _ _ _44--88::            In a collection that uses range
                                 selection, when the user presses
                                 <<SShhiifftt>> BBSSeelleecctt, the anchor remains




        August 26, 1994                                         B-25







        OSF/Motif Style Guide


                                 unchanged, and an extended range
                                 for the selection is determined,
                                 based on one of the following
                                 extension models (Section 4.1.4):

                                 RReesseelleecctt
                                        The extended range is
                                        determined by the anchor and
                                        the current pointer
                                        position, in exactly the
                                        same manner as when the
                                        selection was initially
                                        made.

                                 EEnnllaarrggee OOnnllyy
                                        The selection can only be
                                        enlarged.  The extended
                                        range is determined by the
                                        anchor and the current
                                        pointer position, but then
                                        is enlarged to include the
                                        current selection.

                                 BBaallaannccee BBeeaamm
                                        A balance point is defined
                                        at the midpoint of the
                                        current selection.  When the
                                        user presses <<SShhiifftt>> BBSSeelleecctt
                                        on the opposite side of the
                                        balance point from the
                                        anchor, this model works
                                        exactly like the RReesseelleecctt
                                        model.  When the user
                                        presses <<SShhiifftt>> BBSSeelleecctt or
                                        starts a navigation action
                                        modified by <<SShhiifftt>> on the
                                        same side of the balance
                                        point as the anchor, this
                                        model moves the anchor to
                                        the opposite end of the
                                        selection and then works
                                        exactly like the RReesseelleecctt
                                        model.

                                 When the user releases BBSSeelleecctt, the
                                 anchor does not move, all the
                                 elements within the extended range
                                 are selected, and all the elements
                                 outside of it are deselected
                                 (Section 4.1.4).





        B-26                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 <<SShhiifftt>> BBSSeelleecctt _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s _o_f _e_x_t_e_n_d_i_n_g _t_h_e
                                 _r_a_n_g_e _o_f _a _s_e_l_e_c_t_i_o_n.



        B.4.1.5  MMoouussee--BBaasseedd DDiissccoonnttiigguuoouuss SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _44--99::            In a collection that uses
                                 discontiguous selection, the
                                 behavior of BBSSeelleecctt is exactly the
                                 same as in the range selection
                                 model.  After the user sets the
                                 anchor with BBSSeelleecctt, <<SShhiifftt>>
                                 BBSSeelleecctt works exactly as in the
                                 range selection model (Section
                                 4.1.5).

                                 _D_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n _i_s _a_n
                                 _e_x_t_e_n_s_i_o_n _o_f _r_a_n_g_e _s_e_l_e_c_t_i_o_n _t_h_a_t
                                 _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _s_e_l_e_c_t _m_u_l_t_i_p_l_e
                                 _d_i_s_c_o_n_t_i_g_u_o_u_s _r_a_n_g_e_s _o_f _e_l_e_m_e_n_t_s.

             _ _ 44_--1100::            In a collection that uses
                                 discontiguous selection, when the
                                 current selection is not empty and
                                 the user clicks <<CCttrrll>> BBSSeelleecctt, the
                                 anchor and location cursor move to
                                 that point.  If the current
                                 selection is not empty and the user
                                 clicks <<CCttrrll>> BBSSeelleecctt on an
                                 element, the selection state of
                                 that element is toggled, and that
                                 element becomes the anchor element
                                 (Section 4.1.5).

                                 _I_n _d_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n, <<CCttrrll>>
                                 BBSSeelleecctt CClliicckk _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_a_n_s _o_f _m_o_v_i_n_g _t_h_e _a_n_c_h_o_r _a_n_d
                                 _t_o_g_g_l_i_n_g _t_h_e _s_e_l_e_c_t_i_o_n _s_t_a_t_e _o_f _t_h_e
                                 _e_l_e_m_e_n_t _u_n_d_e_r _t_h_e _p_o_i_n_t_e_r.

             _ _ 44_--1111::            In a collection that uses
                                 discontiguous selection, <<CCttrrll>>
                                 BBSSeelleecctt MMoottiioonn toggles the
                                 selection state of a range of
                                 elements.  The range itself is




        August 26, 1994                                         B-27







        OSF/Motif Style Guide


                                 determined exactly as for BBSSeelleecctt
                                 MMoottiioonn.  Releasing <<CCttrrll>> BBSSeelleecctt
                                 toggles the selection state of the
                                 elements in the range according to
                                 one of two models (Section 4.1.5):

                                 AAnncchhoorr TTooggggllee
                                        Toggling is based on an
                                        anchor element.  If the
                                        range is anchored by a
                                        point, and is not empty, the
                                        anchor element is set to the
                                        element within the range
                                        that is nearest to the
                                        anchor point.  Toggling sets
                                        the selection state of all
                                        elements in the range to the
                                        inverse of the initial state
                                        of the anchor element.

                                 FFuullll TTooggggllee
                                        The selection state of each
                                        element in the extended
                                        range is toggled.

                                 _I_n _d_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n, <<CCttrrll>>
                                 BBSSeelleecctt _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s
                                 _o_f _t_o_g_g_l_i_n_g _t_h_e _s_e_l_e_c_t_i_o_n _s_t_a_t_e _o_f
                                 _e_l_e_m_e_n_t_s _i_n _a _r_a_n_g_e.

             _ _ 44_--1122::            In a collection that uses
                                 discontiguous selection, after
                                 <<CCttrrll>> BBSSeelleecctt toggles a selection,
                                 <<SShhiifftt>> BBSSeelleecctt or <<CCttrrll>> <<SShhiifftt>>
                                 BBSSeelleecctt extends the range of
                                 toggled elements.  The extended
                                 range is determined in exactly the
                                 same way as when <<SShhiifftt>> BBSSeelleecctt is
                                 used to extend a range selection.
                                 When the user releases <<CCttrrll>>
                                 <<SShhiifftt>> BBSSeelleecctt the selection state
                                 of elements added to the range is
                                 determined by the toggle model in
                                 use (either AAnncchhoorr TTooggggllee or FFuullll
                                 TTooggggllee).  If elements are removed
                                 from the range, they either revert
                                 to their state prior to the last
                                 use of <<CCttrrll>> BBSSeelleecctt or change to
                                 the state opposite that of the
                                 elements remaining within the
                                 extended range (Section 4.1.5).




        B-28                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 <<SShhiifftt>> BBSSeelleecctt _a_n_d <<CCttrrll>> <<SShhiifftt>>
                                 BBSSeelleecctt _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s
                                 _o_f _e_x_t_e_n_d_i_n_g _t_h_e _r_a_n_g_e _o_f _t_o_g_g_l_e_d
                                 _e_l_e_m_e_n_t_s.



        B.4.1.6  KKeeyybbooaarrdd SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ 44_--1133::            The selection models support
                                 keyboard selection modes according
                                 to the following rules (Section
                                 4.1.6):

                                    +o Single selection supports only
                                      add mode.

                                    +o Browse selection supports only
                                      normal mode.

                                    +o Multiple selection supports
                                      only add mode.

                                    +o Range selection supports
                                      normal mode.  If it also
                                      supports add mode, normal mode
                                      is the default.

                                    +o Discontiguous selection
                                      supports both normal mode and
                                      add mode.  Normal mode is the
                                      default.

                                 _S_e_l_e_c_t_i_o_n _m_u_s_t _b_e _a_v_a_i_l_a_b_l_e _f_r_o_m
                                 _t_h_e _k_e_y_b_o_a_r_d.  _I_n _n_o_r_m_a_l _m_o_d_e, _u_s_e_d
                                 _f_o_r _m_a_k_i_n_g _s_i_m_p_l_e _c_o_n_t_i_g_u_o_u_s
                                 _s_e_l_e_c_t_i_o_n_s _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d, _t_h_e
                                 _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s _n_e_v_e_r _d_i_s_j_o_i_n_t
                                 _f_r_o_m _t_h_e _c_u_r_r_e_n_t _s_e_l_e_c_t_i_o_n.  _I_n _a_d_d
                                 _m_o_d_e, _u_s_e_d _f_o_r _m_a_k_i_n_g _m_o_r_e _c_o_m_p_l_e_x
                                 _a_n_d _p_o_s_s_i_b_l_y _d_i_s_j_o_i_n_t _s_e_l_e_c_t_i_o_n_s,
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _c_a_n _m_o_v_e
                                 _i_n_d_e_p_e_n_d_e_n_t _o_f _t_h_e _c_u_r_r_e_n_t
                                 _s_e_l_e_c_t_i_o_n.

             _ _ 44_--1144::            If a collection supports both
                                 normal mode and add mode, <<SShhiifftt>>




        August 26, 1994                                         B-29







        OSF/Motif Style Guide


                                 <<FF88>> switches from one mode to the
                                 other.  Mouse-based selection does
                                 not change when the keyboard
                                 selection mode changes.  In
                                 editable components, add mode is a
                                 temporary mode that is exited when
                                 the user performs an operation on
                                 the selection or deselects the
                                 selection (Section 4.1.6).

                                 <<SShhiifftt>> <<FF88>> _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_a_n_s _o_f _s_w_i_t_c_h_i_n_g _b_e_t_w_e_e_n _n_o_r_m_a_l
                                 _m_o_d_e _a_n_d _a_d_d _m_o_d_e.



        B.4.1.6.1  KKeeyybbooaarrdd--BBaasseedd SSiinnggllee SSeelleeccttiioonn


             YYeess NN//AA NNoo

             _ _ 44_--1155::            In a collection that uses single
                                 selection, the navigation keys move
                                 the location cursor independent
                                 from the selected element.  If the
                                 user presses <<SSeelleecctt>> or <<SSppaaccee>> on
                                 an unselected element, the element
                                 with the location cursor is
                                 selected, and any other selection
                                 in the collection is deselected
                                 (Section 4.1.6.1).

                                 _S_i_n_g_l_e _s_e_l_e_c_t_i_o_n _s_u_p_p_o_r_t_s _o_n_l_y _a_d_d
                                 _m_o_d_e.  _P_r_e_s_s_i_n_g <<SSeelleecctt>> _o_r <<SSppaaccee>>
                                 _i_s _s_i_m_i_l_a_r _t_o _c_l_i_c_k_i_n_g BBSSeelleecctt.



        B.4.1.6.2  KKeeyybbooaarrdd--BBaasseedd BBrroowwssee SSeelleeccttiioonn


             YYeess NN//AA NNoo

             _ _ 44_--1166::            In a collection that uses browse
                                 selection, the navigation keys move
                                 the location cursor and select the
                                 cursored element, deselecting any
                                 other element.  If the application
                                 has deselected all elements or if
                                 the cursor is left disjoint from
                                 the selection, <<SSeelleecctt>> or <<SSppaaccee>>




        B-30                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 selects the cursored element and
                                 deselects any other element
                                 (Section 4.1.6.2).

                                 _B_r_o_w_s_e _s_e_l_e_c_t_i_o_n _s_u_p_p_o_r_t_s _o_n_l_y
                                 _n_o_r_m_a_l _m_o_d_e.  _A _n_a_v_i_g_a_t_i_o_n
                                 _o_p_e_r_a_t_i_o_n _i_s _s_i_m_i_l_a_r _t_o _d_r_a_g_g_i_n_g
                                 BBSSeelleecctt.



        B.4.1.6.3  KKeeyybbooaarrdd--BBaasseedd MMuullttiippllee SSeelleeccttiioonn


             YYeess NN//AA NNoo

             _ _ 44_--1177::            In a collection that uses multiple
                                 selection, the navigation keys move
                                 the location cursor independent
                                 from the current selection.
                                 <<SSeelleecctt>> or <<SSppaaccee>> on an
                                 unselected element adds the element
                                 to the current selection.  <<SSeelleecctt>>
                                 or <<SSppaaccee>> on a selected element
                                 removes the element from the
                                 current selection (Section
                                 4.1.6.3).

                                 _M_u_l_t_i_p_l_e _s_e_l_e_c_t_i_o_n _s_u_p_p_o_r_t_s _o_n_l_y
                                 _a_d_d _m_o_d_e.  _P_r_e_s_s_i_n_g <<SSeelleecctt>> _o_r
                                 <<SSppaaccee>> _i_s _s_i_m_i_l_a_r _t_o _c_l_i_c_k_i_n_g
                                 BBSSeelleecctt.



        B.4.1.6.4  KKeeyybbooaarrdd--BBaasseedd RRaannggee SSeelleeccttiioonn


             YYeess NN//AA NNoo

             _ _ 44_--1188::            In a collection that uses range
                                 selection and is in normal mode,
                                 the navigation keys move the
                                 location cursor and deselect the
                                 current selection.  If the cursor
                                 is on an element, it is selected.
                                 The anchor moves with the location
                                 cursor.

                                 Text-like collections can use a
                                 different model in which the




        August 26, 1994                                         B-31







        OSF/Motif Style Guide


                                 navigation keys leave the anchor at
                                 its current location, except that,
                                 if the current selection is not
                                 empty, it is deselected and the
                                 anchor is moved to the location of
                                 the cursor prior to navigation
                                 (Section 4.1.6.4).

                                 _R_a_n_g_e _s_e_l_e_c_t_i_o_n _s_u_p_p_o_r_t_s _n_o_r_m_a_l
                                 _m_o_d_e, _a_n_d, _i_f _t_h_e _c_o_l_l_e_c_t_i_o_n _a_l_s_o
                                 _s_u_p_p_o_r_t_s _a_d_d _m_o_d_e, _n_o_r_m_a_l _m_o_d_e _i_s
                                 _t_h_e _d_e_f_a_u_l_t.

             _ _ 44_--1199::            In a collection that uses range
                                 selection, whether in normal mode
                                 or add mode, <<SSeelleecctt>> or <<SSppaaccee>>
                                 (except in a Text component) moves
                                 the anchor to the cursor, deselects
                                 the current selection, and, if the
                                 cursor is on an element, selects
                                 the element.  Unless the anchor is
                                 on a deselected item, <<SShhiifftt>>
                                 <<SSeelleecctt>> or <<SShhiifftt>> <<SSppaaccee>> (except
                                 in Text) extends the selection from
                                 the anchor to the cursor, based on
                                 the extension model used by <<SShhiifftt>>
                                 BBSSeelleecctt (RReesseelleecctt, EEnnllaarrggee OOnnllyy, or
                                 BBaallaannccee BBeeaamm) (Section 4.1.6.4).

                                 _I_n _r_a_n_g_e _s_e_l_e_c_t_i_o_n, _p_r_e_s_s_i_n_g
                                 <<SSeelleecctt>> _o_r <<SSppaaccee>> _i_s _s_i_m_i_l_a_r _t_o
                                 _c_l_i_c_k_i_n_g BBSSeelleecctt, _a_n_d _p_r_e_s_s_i_n_g
                                 <<SShhiifftt>> <<SSeelleecctt>> _o_r <<SShhiifftt>> <<SSppaaccee>>
                                 _e_x_t_e_n_d_s _t_h_e _r_a_n_g_e _a_s _w_i_t_h <<SShhiifftt>>
                                 BBSSeelleecctt.

             _ _ 44_--2200::            In a collection that uses range
                                 selection and is in normal mode,
                                 using <<SShhiifftt>> in conjunction with
                                 the navigation keys extends the
                                 selection, based on the extension
                                 model used by <<SShhiifftt>> BBSSeelleecctt.  If
                                 the current selection is empty, the
                                 anchor is first moved to the
                                 cursor.  The cursor is then moved
                                 according to the navigation keys,
                                 and the selection is extended based
                                 on the extension model used by
                                 <<SShhiifftt>> BBSSeelleecctt (Section 4.1.6.4).






        B-32                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _I_n _r_a_n_g_e _s_e_l_e_c_t_i_o_n, _s_h_i_f_t_e_d
                                 _n_a_v_i_g_a_t_i_o_n _e_x_t_e_n_d_s _t_h_e _s_e_l_e_c_t_i_o_n _i_n
                                 _a _s_i_m_i_l_a_r _m_a_n_n_e_r _t_o _d_r_a_g_g_i_n_g
                                 <<SShhiifftt>> BBSSeelleecctt.

             _ _ 44_--2211::            In a collection that uses range
                                 selection and is in add mode, the
                                 navigation keys move the location
                                 cursor but leave the anchor
                                 unchanged.  Shifted navigation
                                 moves the location cursor according
                                 to the navigation keys, and the
                                 selection is extended based on the
                                 extension model used by <<SShhiifftt>>
                                 BBSSeelleecctt (Section 4.1.6.4).

                                 _S_h_i_f_t_e_d _n_a_v_i_g_a_t_i_o_n _i_n _a_d_d _m_o_d_e _i_s
                                 _s_i_m_i_l_a_r _t_o _s_h_i_f_t_e_d _n_a_v_i_g_a_t_i_o_n _i_n
                                 _n_o_r_m_a_l _m_o_d_e, _e_x_c_e_p_t _t_h_a_t _w_h_e_n _t_h_e
                                 _s_e_l_e_c_t_i_o_n _i_s _e_m_p_t_y _t_h_e _a_n_c_h_o_r _d_o_e_s
                                 _n_o_t _m_o_v_e _t_o _t_h_e _c_u_r_s_o_r _p_r_i_o_r _t_o
                                 _n_a_v_i_g_a_t_i_o_n.



        B.4.1.6.5  KKeeyybbooaarrdd--BBaasseedd DDiissccoonnttiigguuoouuss SSeelleeccttiioonn


             YYeess NN//AA NNoo

             _ _ 44_--2222::            In a collection that uses
                                 discontiguous selection and is in
                                 normal mode, all keyboard
                                 operations have the same effect as
                                 in the range selection model
                                 (Section 4.1.6.5).

                                 _N_o_r_m_a_l _m_o_d_e _d_o_e_s _n_o_t _p_e_r_m_i_t
                                 _m_u_l_t_i_p_l_e _d_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n_s.

             _ _ 44_--2233::            In a collection that uses
                                 discontiguous selection and is in
                                 add mode, <<SSeelleecctt>> or <<SSppaaccee>> moves
                                 the anchor to the location cursor
                                 and initiates toggling.  If the
                                 cursor is on an element, the
                                 selection state of that element is
                                 toggled, but the selection state of
                                 all other elements remains
                                 unchanged.  <<SShhiifftt>> <<SSeelleecctt>> or
                                 <<SShhiifftt>> <<SSppaaccee>> and shifted




        August 26, 1994                                         B-33







        OSF/Motif Style Guide


                                 navigation operations extend the
                                 selection between the anchor and
                                 the location cursor, based on the
                                 toggle mechanism used by <<CCttrrll>>
                                 BBSSeelleecctt (AAnncchhoorr TTooggggllee or FFuullll
                                 TTooggggllee) (Section 4.1.6.5).

                                 _A_d_d _m_o_d_e _p_e_r_m_i_t_s _u_s_e _o_f _t_h_e
                                 _k_e_y_b_o_a_r_d _t_o _m_a_k_e _m_u_l_t_i_p_l_e
                                 _d_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n_s.



        B.4.1.7  CCaanncceelliinngg aa SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ 44_--2244::            Your application uses <<CCaanncceell>> to
                                 cancel or undo any incomplete
                                 motion operation used for
                                 selection.  Once the user presses
                                 <<CCaanncceell>> to cancel a motion
                                 operation, the application ignores
                                 subsequent key and button releases
                                 until after all buttons and keys
                                 are released.  <<CCaanncceell>> while
                                 extending or toggling leaves the
                                 selection state of all elements as
                                 they were prior to the button press
                                 (Section 4.1.7).

                                 <<CCaanncceell>> _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _c_a_n_c_e_l
                                 _a_n _i_n_c_o_m_p_l_e_t_e _s_e_l_e_c_t_i_o_n _o_p_e_r_a_t_i_o_n
                                 _q_u_i_c_k_l_y _a_n_d _c_o_n_s_i_s_t_e_n_t_l_y.



        B.4.1.8  AAuuttoossccrroolllliinngg aanndd SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ 44_--2255::            If the user drags the pointer out
                                 of a scrollable collection during a
                                 motion-based selection operation,
                                 autoscrolling is used to scroll the
                                 collection in the direction of the
                                 pointer.  If the user presses




        B-34                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 <<CCaanncceell>> with BBSSeelleecctt pressed, the
                                 selection operation is canceled as
                                 described in Section 4.1.7 (Section
                                 4.1.8).

                                 _A_u_t_o_s_c_r_o_l_l_i_n_g _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_a_n_s _o_f _e_x_t_e_n_d_i_n_g _a _s_e_l_e_c_t_i_o_n _t_o
                                 _e_l_e_m_e_n_t_s _o_u_t_s_i_d_e _t_h_e _v_i_e_w_p_o_r_t _o_f _a
                                 _s_c_r_o_l_l_a_b_l_e _c_o_l_l_e_c_t_i_o_n.



        B.4.1.9  SSeelleeccttiinngg aanndd DDeesseelleeccttiinngg AAllll EElleemmeennttss



             YYeess NN//AA NNoo

             _ _ 44_--2266::            In a collection that uses multiple,
                                 range, or discontiguous selection,
                                 <<CCttrrll>> <<//>> selects all the elements
                                 in the collection, places the
                                 anchor at the beginning of the
                                 collection, and leaves the location
                                 cursor at its previous position
                                 (Section 4.1.9).

                                 <<CCttrrll>> <<//>> _p_r_o_v_i_d_e_s _t_h_e _u_s_e_r _w_i_t_h _a
                                 _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s _o_f _s_e_l_e_c_t_i_n_g _a_l_l
                                 _o_f _t_h_e _o_b_j_e_c_t_s _i_n _a _c_o_l_l_e_c_t_i_o_n.

             _ _ 44_--2277::            In a collection that is in add
                                 mode, <<CCttrrll>> <<\\>> deselects all the
                                 elements in the collection.  In a
                                 collection that is in normal mode,
                                 <<CCttrrll>> <<\\>> deselects all the
                                 elements in the collection, except
                                 the element with the location
                                 cursor if the location cursor is
                                 being displayed.  In either mode,
                                 <<CCttrrll>> <<\\>> leaves the location
                                 cursor at its current position and
                                 moves the anchor to the location
                                 cursor (Section 4.1.9).

                                 <<CCttrrll>> <<\\>> _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _d_e_s_e_l_e_c_t _a_l_l _o_f _t_h_e _s_e_l_e_c_t_e_d
                                 _o_b_j_e_c_t_s _q_u_i_c_k_l_y _a_n_d _u_n_i_f_o_r_m_l_y.







        August 26, 1994                                         B-35







        OSF/Motif Style Guide


        B.4.1.10  UUssiinngg MMnneemmoonniiccss ffoorr EElleemmeennttss



             YYeess NN//AA NNoo

             _ _ 44_--2288::            If your application supports
                                 mnemonics associated with
                                 selectable elements, typing a
                                 mnemonic while the collection has
                                 the keyboard focus is equivalent to
                                 moving the location cursor to the
                                 element and pressing <<SSeelleecctt>> or
                                 <<SSppaaccee>> (Section 4.1.10).

                                 _M_n_e_m_o_n_i_c_s _w_i_t_h_i_n _a _c_o_l_l_e_c_t_i_o_n _o_f
                                 _s_e_l_e_c_t_a_b_l_e _e_l_e_m_e_n_t_s _p_r_o_v_i_d_e _a_n
                                 _a_d_d_i_t_i_o_n_a_l _s_e_l_e_c_t_i_o_n _m_e_t_h_o_d.



        B.4.2  SSeelleeccttiioonn AAccttiioonnss



             YYeess NN//AA NNoo

             _ _ 44_--2299::            When the keyboard focus policy is
                                 explicit, the destination component
                                 is the editable component that last
                                 had the keyboard focus.  When the
                                 keyboard focus policy is implicit,
                                 the destination component is the
                                 editable component that last
                                 received mouse button or keyboard
                                 input (Section 4.2.1).

                                 _T_h_e _d_e_s_t_i_n_a_t_i_o_n _c_o_m_p_o_n_e_n_t _i_s _u_s_e_d
                                 _t_o _i_d_e_n_t_i_f_y _t_h_e _c_o_m_p_o_n_e_n_t _o_n _w_h_i_c_h
                                 _c_e_r_t_a_i_n _o_p_e_r_a_t_i_o_n_s, _p_r_i_m_a_r_i_l_y _d_a_t_a
                                 _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n_s, _a_c_t.  _T_h_e_r_e _i_s
                                 _o_n_l_y _o_n_e _d_e_s_t_i_n_a_t_i_o_n _c_o_m_p_o_n_e_n_t _a_t _a
                                 _t_i_m_e.

             _ _ 44_--3300::            If the keyboard focus is in a
                                 component (or a Popup Menu of a
                                 component) that supports
                                 selections, operations that act on
                                 a selection act on the selection in
                                 that component (Section 4.2.2).





        B-36                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _A _s_e_l_e_c_t_i_o_n _o_p_e_r_a_t_i_o_n _a_c_t_s _o_n _t_h_e
                                 _c_o_m_p_o_n_e_n_t _t_h_a_t _h_a_s _f_o_c_u_s, _i_f _t_h_a_t
                                 _c_o_m_p_o_n_e_n_t _s_u_p_p_o_r_t_s _s_e_l_e_c_t_i_o_n_s.

             _ _ 44_--3311::            If the keyboard focus is in a
                                 component (or a Popup Menu of a
                                 component) that supports some
                                 operation that does not act on a
                                 selection, invoking the operation
                                 acts on that component (Section
                                 4.2.2).

                                 _A_n _o_p_e_r_a_t_i_o_n _t_h_a_t _d_o_e_s _n_o_t _a_c_t _o_n _a
                                 _s_e_l_e_c_t_i_o_n _a_c_t_s _o_n _t_h_e _c_o_m_p_o_n_e_n_t
                                 _t_h_a_t _h_a_s _f_o_c_u_s, _i_f _t_h_a_t _c_o_m_p_o_n_e_n_t
                                 _s_u_p_p_o_r_t_s _t_h_e _o_p_e_r_a_t_i_o_n.

             _ _ 44_--3322::            Inserting or pasting elements into
                                 a selection, except for a primary
                                 transfer operation at the bounds of
                                 the primary selection, first
                                 deletes the selection if pending
                                 delete is enabled (Section 4.2.3).

                                 _P_e_n_d_i_n_g _d_e_l_e_t_e _c_o_n_t_r_o_l_s _t_h_e
                                 _c_o_n_d_i_t_i_o_n_s _u_n_d_e_r _w_h_i_c_h _t_h_e
                                 _s_e_l_e_c_t_i_o_n _i_s _d_e_l_e_t_e_d.  _I_t _i_s
                                 _e_n_a_b_l_e_d _b_y _d_e_f_a_u_l_t.

             _ _ 44_--3333::            In normal mode, inserting or
                                 pasting elements disjoint from the
                                 selection also deselects the
                                 selection, except for primary
                                 transfer operations whose source
                                 and destination are in the same
                                 collection.  In add mode, the
                                 selection is not deselected
                                 (Section 4.2.3).

                                 _I_n _a_d_d _m_o_d_e, _a _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n
                                 _t_h_a_t _i_s _d_i_s_j_o_i_n_t _f_r_o_m _t_h_e _s_e_l_e_c_t_i_o_n
                                 _d_o_e_s _n_o_t _a_f_f_e_c_t _t_h_e _s_e_l_e_c_t_i_o_n.

             _ _ 44_--3344::            In editable list-like and
                                 graphics-like collections, <<DDeelleettee>>
                                 deletes the selected elements
                                 (Section 4.2.3).

                                 <<DDeelleettee>> _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _d_e_l_e_t_i_n_g _t_h_e _s_e_l_e_c_t_i_o_n.





        August 26, 1994                                         B-37







        OSF/Motif Style Guide


             _ _ 44_--3355::            In editable text-like collections,
                                 <<DDeelleettee>> and <<BBaacckkSSppaaccee>> behave as
                                 follows:

                                    +o If the selection is not empty
                                      and the control is in normal
                                      mode, the selection is
                                      deleted.

                                    +o If the selection is not empty,
                                      the control is in add mode,
                                      and the cursor is not disjoint
                                      from the selection, the
                                      selection is deleted.

                                    +o If the selection is not empty
                                      and the control is in add
                                      mode, but the cursor is
                                      disjoint from the selection,
                                      <<DDeelleettee>> deletes one character
                                      forward, and <<BBaacckkSSppaaccee>>
                                      deletes one character
                                      backward.

                                    +o If the selection is empty,
                                      <<DDeelleettee>> deletes one character
                                      forward, and <<BBaacckkSSppaaccee>>
                                      deletes one character
                                      backward.

                                 _I_n _t_e_x_t, <<DDeelleettee>> _a_n_d <<BBaacckkSSppaaccee>>
                                 _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _d_e_l_e_t_e
                                 _t_h_e _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n _o_r _s_i_n_g_l_e
                                 _c_h_a_r_a_c_t_e_r_s.



        B.4.3  TTrraannssffeerr MMooddeellss



             YYeess NN//AA NNoo

             _ _ 44_--3366::            If the move, copy, or link
                                 operation the user requests is not
                                 available, the transfer operation
                                 fails (Section 4.3).

                                 _T_h_r_e_e _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n_s _a_r_e
                                 _g_e_n_e_r_a_l_l_y _a_v_a_i_l_a_b_l_e: _c_o_p_y, _m_o_v_e,
                                 _a_n_d _l_i_n_k.  _T_h_e _u_s_e_r _r_e_q_u_e_s_t_s _o_n_e _o_f




        B-38                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _t_h_e_s_e _o_p_e_r_a_t_i_o_n_s _b_y _p_r_e_s_s_i_n_g _t_h_e
                                 _b_u_t_t_o_n_s _o_r _k_e_y_s _a_p_p_r_o_p_r_i_a_t_e _f_o_r _t_h_e
                                 _t_y_p_e _o_f _t_r_a_n_s_f_e_r.  _I_n _g_e_n_e_r_a_l, _f_o_r
                                 _m_o_u_s_e-_b_a_s_e_d _o_p_e_r_a_t_i_o_n_s, _t_h_e
                                 _m_o_d_i_f_i_e_r <<CCttrrll>> _f_o_r_c_e_s _a _c_o_p_y,
                                 <<SShhiifftt>> _f_o_r_c_e_s _a _m_o_v_e, _a_n_d <<CCttrrll>>
                                 <<SShhiifftt>> _f_o_r_c_e_s _a _l_i_n_k.  _H_o_w_e_v_e_r,
                                 _a_n_y _r_e_q_u_e_s_t_e_d _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n
                                 _m_u_s_t _f_a_i_l _i_f _t_h_a_t _o_p_e_r_a_t_i_o_n _i_s _n_o_t
                                 _a_v_a_i_l_a_b_l_e.

             _ _ 44_--3377::            If a collection does not have a
                                 fixed insertion point or keep
                                 elements ordered in a specific way,
                                 the insertion position for
                                 transferred data is determined as
                                 follows (Section 4.3):

                                    +o For BBTTrraannssffeerr-based primary
                                      and drag transfer operations,
                                      the insertion position is the
                                      position at which the user
                                      releases BBTTrraannssffeerr.

                                    +o In a text-like collection, the
                                      insertion position for other
                                      transfer operations is the
                                      location cursor, and the data
                                      is pasted before it.

                                    +o In a list-like collection, the
                                      insertion position for other
                                      transfer operations is the
                                      element with the location
                                      cursor, and the data is pasted
                                      before it.

                                 _T_h_e _i_n_s_e_r_t_i_o_n _p_o_s_i_t_i_o_n _i_s _t_h_e
                                 _p_o_s_i_t_i_o_n _i_n _t_h_e _d_e_s_t_i_n_a_t_i_o_n _w_h_e_r_e
                                 _t_r_a_n_s_f_e_r_r_e_d _d_a_t_a _i_s _p_l_a_c_e_d.  _S_o_m_e
                                 _m_o_u_s_e-_b_a_s_e_d _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n_s
                                 _p_l_a_c_e _d_a_t_a _a_t _t_h_e _p_o_i_n_t_e_r _p_o_s_i_t_i_o_n
                                 _i_f _p_o_s_s_i_b_l_e.  _O_t_h_e_r _o_p_e_r_a_t_i_o_n_s,
                                 _i_n_c_l_u_d_i_n_g _k_e_y_b_o_a_r_d-_b_a_s_e_d _t_r_a_n_s_f_e_r,
                                 _g_e_n_e_r_a_l_l_y _p_l_a_c_e _t_h_e _d_a_t_a _a_t _t_h_e
                                 _l_o_c_a_t_i_o_n _c_u_r_s_o_r.









        August 26, 1994                                         B-39







        OSF/Motif Style Guide


        B.4.3.1  CClliippbbooaarrdd TTrraannssffeerr



             YYeess NN//AA NNoo

             _ _ 44_--3388::            Keyboard-based clipboard selection
                                 actions are available in every
                                 editable collection in your
                                 application (Section 4.3.1).

                                 _C_l_i_p_b_o_a_r_d _s_e_l_e_c_t_i_o_n _a_c_t_i_o_n_s _n_e_e_d _t_o
                                 _b_e _a_v_a_i_l_a_b_l_e _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 44_--3399::            Your application uses <<CCuutt>> or
                                 <<SShhiifftt>> <<DDeelleettee>> and the CCuutt entry
                                 on the EEddiitt Menu to cut the
                                 selected elements from an editable
                                 component to the clipboard (Section
                                 4.3.1).

                                 <<CCuutt>> _o_r <<SShhiifftt>> <<DDeelleettee>> _a_n_d _t_h_e
                                 CCuutt _e_n_t_r_y _o_n _t_h_e EEddiitt _M_e_n_u _o_f_f_e_r _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _c_u_t_t_i_n_g _t_h_e
                                 _s_e_l_e_c_t_i_o_n _t_o _t_h_e _c_l_i_p_b_o_a_r_d _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 44_--4400::            Your application uses <<CCooppyy>> or
                                 <<CCttrrll>> <<IInnsseerrtt>> and the CCooppyy entry
                                 on the EEddiitt Menu to copy the
                                 selected elements to the clipboard
                                 (Section 4.3.1).

                                 <<CCooppyy>> _o_r <<CCttrrll>> <<IInnsseerrtt>> _a_n_d _t_h_e
                                 CCooppyy _e_n_t_r_y _o_n _t_h_e EEddiitt _M_e_n_u _o_f_f_e_r _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _c_o_p_y_i_n_g _t_h_e
                                 _s_e_l_e_c_t_i_o_n _t_o _t_h_e _c_l_i_p_b_o_a_r_d _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 44_--4411::            Your application uses <<PPaassttee>> or
                                 <<SShhiifftt>> <<IInnsseerrtt>> to paste the
                                 contents of the clipboard into an
                                 editable component (Section 4.3.1).

                                 <<PPaassttee>> _o_r <<SShhiifftt>> <<IInnsseerrtt>> _o_f_f_e_r_s
                                 _a _c_o_n_s_i_s_t_e_n_t _w_a_y _o_f _p_a_s_t_i_n_g _t_h_e
                                 _c_o_n_t_e_n_t_s _o_f _t_h_e _c_l_i_p_b_o_a_r_d _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 44_--4422::            If PPaassttee or PPaassttee LLiinnkk is invoked
                                 using a component's Popup Menu, the




        B-40                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 data is pasted at the insertion
                                 position of the component.
                                 However, if the Popup Menu is
                                 popped up over a selection, the
                                 selection is first deleted, even if
                                 pending delete is disabled, and the
                                 pasted data replaces it, if
                                 possible (Section 4.3.1).

                                 _P_o_p_p_i_n_g _u_p _a _P_o_p_u_p _M_e_n_u _o_v_e_r _a
                                 _s_e_l_e_c_t_i_o_n _i_n_d_i_c_a_t_e_s _t_h_a_t _a PPaassttee _o_r
                                 PPaassttee LLiinnkk _o_p_e_r_a_t_i_o_n _s_h_o_u_l_d _r_e_p_l_a_c_e
                                 _t_h_e _s_e_l_e_c_t_i_o_n.

             _ _ 44_--4433::            If PPaassttee or PPaassttee LLiinnkk is invoked
                                 from the EEddiitt Menu or by a keyboard
                                 operation, and the insertion
                                 position in the target component is
                                 not disjoint from a selection, the
                                 pasted data replaces the selection
                                 contents if pending delete is
                                 enabled (Section 4.3.1).

                                 _P_e_n_d_i_n_g _d_e_l_e_t_e _d_e_t_e_r_m_i_n_e_s _w_h_e_t_h_e_r
                                 _t_h_e _s_e_l_e_c_t_i_o_n _i_s _d_e_l_e_t_e_d _w_h_e_n _t_h_e
                                 _i_n_s_e_r_t_i_o_n _p_o_s_i_t_i_o_n _i_s _n_o_t _d_i_s_j_o_i_n_t
                                 _f_r_o_m _t_h_e _s_e_l_e_c_t_i_o_n _a_n_d PPaassttee _o_r
                                 PPaassttee LLiinnkk _i_s _i_n_v_o_k_e_d _f_r_o_m _t_h_e EEddiitt
                                 _M_e_n_u _o_r _b_y _a _k_e_y_b_o_a_r_d _o_p_e_r_a_t_i_o_n.



        B.4.3.2  PPrriimmaarryy TTrraannssffeerr



             YYeess NN//AA NNoo

             _ _ 44_--4444::            In an editable collection,
                                 BBTTrraannssffeerr CClliicckk, <<CCttrrll>> BBTTrraannssffeerr
                                 CClliicckk, <<AAlltt>> <<CCooppyy>>, and <<AAlltt>>
                                 <<CCttrrll>> <<IInnsseerrtt>> copy the primary
                                 selection to the insertion
                                 position, as defined in Section
                                 4.3.  (Note that the insertion
                                 position is usually different for
                                 mouse and keyboard operations.)
                                 (Section 4.3.2)

                                 _T_h_e_s_e _o_p_e_r_a_t_i_o_n_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o




        August 26, 1994                                         B-41







        OSF/Motif Style Guide


                                 _f_o_r_c_e _a _c_o_p_y _o_p_e_r_a_t_i_o_n.

             _ _ 44_--4455::            In an editable collection, <<SShhiifftt>>
                                 BBTTrraannssffeerr CClliicckk, <<AAlltt>> <<CCuutt>>, and
                                 <<AAlltt>> <<SShhiifftt>> <<DDeelleettee>> move the
                                 primary selection to the insertion
                                 position, as defined in Section
                                 4.3.  (Note that the insertion
                                 position is usually different for
                                 mouse and keyboard operations.)
                                 (Section 4.3.2)

                                 _T_h_e_s_e _o_p_e_r_a_t_i_o_n_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o
                                 _f_o_r_c_e _a _m_o_v_e _o_p_e_r_a_t_i_o_n.

             _ _ 44_--4466::            In an editable collection, <<CCttrrll>>
                                 <<SShhiifftt>> BBTTrraannssffeerr CClliicckk places a
                                 link to the primary selection at
                                 the insertion position, as defined
                                 in Section 4.3 (Section 4.3.2).

                                 <<CCttrrll>> <<SShhiifftt>> BBTTrraannssffeerr _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o
                                 _f_o_r_c_e _a _l_i_n_k _o_p_e_r_a_t_i_o_n.

             _ _ 44_--4477::            A PPrriimmaarryy MMoovvee moves the primary
                                 selection as well as the elements
                                 selected; that is, the element
                                 moved to the destination becomes
                                 selected as the primary selection.
                                 PPrriimmaarryy CCooppyy and PPrriimmaarryy LLiinnkk do
                                 not select transferred data at the
                                 destination (Section 4.3.2).

                                 _T_h_i_s _r_u_l_e _p_r_o_v_i_d_e_s _t_h_e _e_x_p_e_c_t_e_d
                                 _t_r_e_a_t_m_e_n_t _o_f _t_h_e _s_e_l_e_c_t_i_o_n _i_n _m_o_v_e,
                                 _c_o_p_y, _a_n_d _l_i_n_k _o_p_e_r_a_t_i_o_n.



        B.4.3.3  QQuuiicckk TTrraannssffeerr



             YYeess NN//AA NNoo

             _ _ 44_--4488::            All Text components support quick
                                 transfer (Section 4.3.3).






        B-42                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _Q_u_i_c_k _t_r_a_n_s_f_e_r _i_s _u_s_e_d _t_o _m_a_k_e _a
                                 _t_e_m_p_o_r_a_r_y _s_e_l_e_c_t_i_o_n _a_n_d _t_h_e_n
                                 _i_m_m_e_d_i_a_t_e_l_y _m_o_v_e, _c_o_p_y, _o_r _l_i_n_k
                                 _t_h_a_t _s_e_l_e_c_t_i_o_n _t_o _t_h_e _i_n_s_e_r_t_i_o_n
                                 _p_o_s_i_t_i_o_n _o_f _t_h_e _d_e_s_t_i_n_a_t_i_o_n
                                 _c_o_m_p_o_n_e_n_t.  _I_n _T_e_x_t _q_u_i_c_k _t_r_a_n_s_f_e_r
                                 _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _m_o_v_e,
                                 _c_o_p_y, _o_r _l_i_n_k _t_e_x_t _w_i_t_h_o_u_t
                                 _d_i_s_t_u_r_b_i_n_g _t_h_e _p_r_i_m_a_r_y _s_e_l_e_c_t_i_o_n.

             _ _ 44_--4499::            If a component supports quick
                                 transfer, <<AAlltt>> BBTTrraannssffeerr MMoottiioonn or
                                 <<AAlltt>> <<CCttrrll>> BBTTrraannssffeerr MMoottiioonn
                                 temporarily selects elements in the
                                 specified range and, on release,
                                 copies them to the insertion
                                 position of the destination
                                 component (Section 4.3.3).

                                 _T_h_e_s_e _o_p_e_r_a_t_i_o_n_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _p_e_r_f_o_r_m _a _q_u_i_c_k
                                 _c_o_p_y.

             _ _ 44_--5500::            If a component supports quick
                                 transfer, <<AAlltt>> <<SShhiifftt>> BBTTrraannssffeerr
                                 MMoottiioonn temporarily selects elements
                                 in the specified range and, on
                                 release, moves them to the
                                 insertion position of the
                                 destination component (Section
                                 4.3.3).

                                 _T_h_i_s _o_p_e_r_a_t_i_o_n _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _p_e_r_f_o_r_m _a _q_u_i_c_k
                                 _c_u_t.

             _ _ 44_--5511::            If a component supports quick
                                 transfer, <<AAlltt>> <<CCttrrll>> <<SShhiifftt>>
                                 BBTTrraannssffeerr MMoottiioonn temporarily
                                 selects elements in the specified
                                 range and, on release, places a
                                 link to them at the insertion
                                 position of the destination
                                 component (Section 4.3.3).

                                 _T_h_i_s _o_p_e_r_a_t_i_o_n _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _p_e_r_f_o_r_m _a _q_u_i_c_k
                                 _l_i_n_k.

             _ _ 44_--5522::            Quick transfer does not disturb the
                                 primary selection or affect the




        August 26, 1994                                         B-43







        OSF/Motif Style Guide


                                 clipboard, except when the
                                 destination of the transfer is
                                 within or on the boundaries of the
                                 primary selection and pending
                                 delete is enabled.  In this case,
                                 quick transfer deletes the contents
                                 of the primary selection, leaving
                                 an empty primary selection, before
                                 pasting the transferred elements
                                 (Section 4.3.3).

                                 _Q_u_i_c_k _t_r_a_n_s_f_e_r _i_s _a _s_e_c_o_n_d_a_r_y
                                 _s_e_l_e_c_t_i_o_n _m_e_c_h_a_n_i_s_m, _s_o _i_t _c_a_n_n_o_t
                                 _d_i_s_r_u_p_t _t_h_e _p_r_i_m_a_r_y _s_e_l_e_c_t_i_o_n.
                                 _W_h_e_n _t_h_e _d_e_s_t_i_n_a_t_i_o_n _o_f _t_h_e
                                 _t_r_a_n_s_f_e_r _i_s _i_n _t_h_e _p_r_i_m_a_r_y
                                 _s_e_l_e_c_t_i_o_n, _q_u_i_c_k _t_r_a_n_s_f_e_r _r_e_p_l_a_c_e_s
                                 _t_h_e _p_r_i_m_a_r_y _s_e_l_e_c_t_i_o_n _w_i_t_h _t_h_e
                                 _s_e_c_o_n_d_a_r_y _s_e_l_e_c_t_i_o_n.

             _ _ 44_--5533::            With quick transfer, the range of
                                 the temporary selection is
                                 determined by using the same model
                                 as when BBSSeelleecctt MMoottiioonn determines
                                 the range of a primary selection
                                 (Section 4.3.3).

                                 _T_h_i_s _r_u_l_e _p_r_o_v_i_d_e_s _c_o_n_s_i_s_t_e_n_c_y
                                 _b_e_t_w_e_e_n _p_r_i_m_a_r_y _s_e_l_e_c_t_i_o_n _a_n_d _q_u_i_c_k
                                 _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n_s.

             _ _ 44_--5544::            If the user drags the pointer out
                                 of a scrollable collection while
                                 making the temporary selection,
                                 autoscrolling is used to scroll the
                                 collection in the direction of the
                                 pointer.  If the user releases
                                 BBTTrraannssffeerr with the pointer outside
                                 of the collection, or if the user
                                 presses <<CCaanncceell>> with BBTTrraannssffeerr
                                 pressed, the highlighting is
                                 removed and a transfer is not
                                 performed (Section 4.3.3).

                                 _A_u_t_o_s_c_r_o_l_l_i_n_g _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_a_n_s _o_f _e_x_t_e_n_d_i_n_g _a _t_e_m_p_o_r_a_r_y
                                 _s_e_l_e_c_t_i_o_n _t_o _e_l_e_m_e_n_t_s _o_u_t_s_i_d_e _t_h_e
                                 _v_i_e_w_p_o_r_t _o_f _a _s_c_r_o_l_l_a_b_l_e
                                 _c_o_l_l_e_c_t_i_o_n.






        B-44                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


        B.4.3.4  DDrraagg TTrraannssffeerr



             YYeess NN//AA NNoo

             _ _ 44_--5555::            In a collection that supports
                                 selection, <<SShhiifftt>> BBTTrraannssffeerr
                                 RReelleeaassee forces a drag move
                                 operation.  If a move is not
                                 possible, the operation fails
                                 (Section 4.3.4).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o _f_o_r_c_e _a _m_o_v_e
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 44_--5566::            In a collection that supports
                                 selection, <<CCttrrll>> BBTTrraannssffeerr RReelleeaassee
                                 forces a drag copy operation.  If a
                                 copy is not possible, the operation
                                 fails (Section 4.3.4).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o _f_o_r_c_e _a _c_o_p_y
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 44_--5577::            In a collection that supports
                                 selection, <<CCttrrll>> <<SShhiifftt>> BBTTrraannssffeerr
                                 RReelleeaassee forces a drag link
                                 operation.  If a link is not
                                 possible, the operation fails
                                 (Section 4.3.4).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o _f_o_r_c_e _a _l_i_n_k
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 44_--5588::            When a drag move operation moves a
                                 selection within the same
                                 component, the selection moves
                                 along with the elements selected
                                 (Section 4.3.4).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _m_o_v_e _t_h_e _s_e_l_e_c_t_i_o_n _w_i_t_h_i_n _a
                                 _c_o_m_p_o_n_e_n_t.

             _ _ 44_--5599::            In text-like collections,
                                 initiating a drag within a selected
                                 region drags the entire text




        August 26, 1994                                         B-45







        OSF/Motif Style Guide


                                 selection (Sections 4.3.4 and
                                 4.3.5).

                                 _T_o _b_e _c_o_n_s_i_s_t_e_n_t, _d_r_a_g _a_n_d _d_r_o_p
                                 _a_c_t_i_o_n_s _n_e_e_d _t_o _o_p_e_r_a_t_e _o_n _t_h_e
                                 _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n.

             _ _ 44_--6600::            In list-like and graphics-like
                                 collections, initiating a drag on a
                                 selected element drags the entire
                                 selection (Sections 4.3.4 and
                                 4.3.5).

                                 _T_o _b_e _c_o_n_s_i_s_t_e_n_t, _d_r_a_g _a_n_d _d_r_o_p
                                 _a_c_t_i_o_n_s _n_e_e_d _t_o _o_p_e_r_a_t_e _o_n _t_h_e
                                 _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n.

             _ _ 44_--6611::            In list-like and graphics-like
                                 collections, initiating a drag with
                                 BBTTrraannssffeerr on an unselected element
                                 drags just that element and leaves
                                 the selection unaffected (Section
                                 4.3.4).

                                 _U_n_s_e_l_e_c_t_e_d _e_l_e_m_e_n_t_s _c_a_n _b_e _d_r_a_g_g_e_d
                                 _w_i_t_h_o_u_t _a_f_f_e_c_t_i_n_g _t_h_e _s_e_l_e_c_t_i_o_n.

             _ _ 44_--6622::            When a drag is initiated in an
                                 unselected region and the pointer
                                 is over two possible draggable
                                 elements, the drag uses the highest
                                 draggable element in the stacking
                                 order (Section 4.3.4).

                                 _T_h_i_s _g_u_i_d_e_l_i_n_e _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _d_r_a_g _o_p_e_r_a_t_i_o_n_s.

             _ _ 44_--6633::            When your application starts a drag
                                 operation, the pointer is replaced
                                 with a drag icon (Section 4.3.4.1).

                                 _A _d_r_a_g _i_c_o_n _p_r_o_v_i_d_e_s _v_i_s_u_a_l
                                 _f_e_e_d_b_a_c_k _t_h_a_t _a _d_r_a_g _o_p_e_r_a_t_i_o_n _i_s
                                 _i_n _p_r_o_g_r_e_s_s.

             _ _ 44_--6644::            All drag icons used by your
                                 application include a source
                                 indicator (Section 4.3.4.1).

                                 _A _s_o_u_r_c_e _i_n_d_i_c_a_t_o_r _g_i_v_e_s _a _v_i_s_u_a_l
                                 _r_e_p_r_e_s_e_n_t_a_t_i_o_n _o_f _t_h_e _e_l_e_m_e_n_t_s




        B-46                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _b_e_i_n_g _d_r_a_g_g_e_d.

             _ _ 44_--6655::            Pressing <<CCaanncceell>> ends a drag and
                                 drop operation by canceling the
                                 drag in progress (Section 4.3.4.2).

                                 <<CCaanncceell>>  _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _f_o_r _t_h_e _u_s_e_r _t_o _c_a_n_c_e_l _a _d_r_a_g
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 44_--6666::            Releasing BBTTrraannssffeerr ends a drag and
                                 drop operation (Section 4.3.4.3).

                                 _R_e_l_e_a_s_i_n_g BBTTrraannssffeerr _o_f_f_e_r_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _e_n_d_i_n_g _a _d_r_a_g
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 44_--6677::            When BBTTrraannssffeerr is released, the
                                 drop operation ordinarily occurs at
                                 the location of the hotspot of the
                                 drag icon pointer and into the
                                 highest drop site in the stacking
                                 order.  However, if a drop occurs
                                 within a selection and pending
                                 delete is enabled, the transferred
                                 data replaces the contents of the
                                 entire selection (Section 4.3.4.3).

                                 _T_h_i_s _r_u_l_e _p_r_o_v_i_d_e_s _c_o_n_s_i_s_t_e_n_c_y _i_n
                                 _t_h_e _t_r_e_a_t_m_e_n_t _o_f _m_o_u_s_e-_b_a_s_e_d
                                 _t_r_a_n_s_f_e_r _o_p_e_r_a_t_i_o_n_s.

             _ _ 44_--6688::            After a successful transfer, the
                                 data is placed in the drop site,
                                 and any transfer icon used by your
                                 application is removed (Section
                                 4.3.4.4).

                                 _A _t_r_a_n_s_f_e_r _i_c_o_n _c_a_n _b_e _u_s_e_d _t_o
                                 _r_e_p_r_e_s_e_n_t _t_h_e _t_y_p_e _o_f _d_a_t_a _b_e_i_n_g
                                 _t_r_a_n_s_f_e_r_r_e_d _d_u_r_i_n_g _a _d_r_o_p
                                 _o_p_e_r_a_t_i_o_n.  _A _s_u_c_c_e_s_s_f_u_l _d_r_o_p
                                 _o_p_e_r_a_t_i_o_n _r_e_s_u_l_t_s _i_n _t_h_e _t_r_a_n_s_f_e_r
                                 _o_f _d_a_t_a.

             _ _ 44_--6699::            After a failed transfer, the data
                                 remains at the drag source and is
                                 not placed in the drop site.  Any
                                 transfer icon used by your
                                 application is removed (Section
                                 4.3.4.4).




        August 26, 1994                                         B-47







        OSF/Motif Style Guide


                                 _A _f_a_i_l_e_d _d_r_o_p _o_p_e_r_a_t_i_o_n _d_o_e_s _n_o_t
                                 _r_e_s_u_l_t _i_n _t_h_e _t_r_a_n_s_f_e_r _o_f _d_a_t_a.



        B.5  CCoommppoonneenntt AAccttiivvaattiioonn





        B.5.1  BBaassiicc AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ _55--11::            Your application uses BBSSeelleecctt to
                                 activate a button (Section 5.1).

                                 BBSSeelleecctt, _t_h_e _f_i_r_s_t _m_o_u_s_e _b_u_t_t_o_n,
                                 _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _b_u_t_t_o_n _u_s_i_n_g _t_h_e
                                 _m_o_u_s_e.

             _ _ _55--22::            When a button has the focus, your
                                 application uses <<SSeelleecctt>> or
                                 <<SSppaaccee>> to activate the button
                                 (Section 5.1).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _p_r_o_v_i_d_e _a
                                 _u_n_i_f_o_r_m _w_a_y _o_f _s_e_l_e_c_t_i_n_g _a _b_u_t_t_o_n.
                                 _S_e_l_e_c_t_i_n_g _a _b_u_t_t_o_n _i_s _e_q_u_i_v_a_l_e_n_t _t_o
                                 _a_c_t_i_v_a_t_i_n_g _t_h_e _b_u_t_t_o_n.

             _ _ _55--33::            When an activatable Menu entry has
                                 the focus, your application uses
                                 <<SSeelleecctt>>, <<SSppaaccee>>, <<EEnntteerr>>, or
                                 <<RReettuurrnn>> to activate the entry
                                 (Section 5.1).

                                 <<SSeelleecctt>>, <<SSppaaccee>>, <<EEnntteerr>>, _a_n_d
                                 <<RReettuurrnn>> _o_f_f_e_r _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s
                                 _o_f _a_c_t_i_v_a_t_i_n_g _a _M_e_n_u _e_n_t_r_y _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ _55--44::            When BBSSeelleecctt is pressed over a
                                 button, the appearance of the
                                 button changes to indicate that
                                 releasing BBSSeelleecctt will activate the
                                 button.  If while BBSSeelleecctt is




        B-48                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 pressed the pointer is moved
                                 outside of the button, the visual
                                 state is restored.  If while
                                 BBSSeelleecctt is still pressed the
                                 pointer is moved back inside of the
                                 button, the visual state is again
                                 changed to indicate the pending
                                 activation.  If BBSSeelleecctt is pressed
                                 and released within a button, the
                                 button is activated, regardless of
                                 whether the pointer has moved out
                                 of the button while it was pressed
                                 (Section 5.1).

                                 _T_h_e _v_i_s_u_a_l _s_t_a_t_e _o_f _a _b_u_t_t_o_n _o_f_f_e_r_s
                                 _a _c_u_e _t_o _t_h_e _u_s_e_r _a_b_o_u_t _w_h_e_t_h_e_r _o_r
                                 _n_o_t _t_h_e _b_u_t_t_o_n _w_i_l_l _b_e _a_c_t_i_v_a_t_e_d
                                 _w_h_e_n _t_h_e _m_o_u_s_e _b_u_t_t_o_n _i_s _r_e_l_e_a_s_e_d.

             _ _ _55--55::            If a selectable element of a
                                 collection is activatable, BBSSeelleecctt
                                 CClliicckk, <<SSeelleecctt>>, and <<SSppaaccee>>
                                 (except in Text) select it.
                                 BBSSeelleecctt CClliicckk 22 selects and
                                 activates it (Section 5.1).

                                 _T_h_i_s _r_u_l_e _p_r_o_v_i_d_e_s _f_o_r _c_o_n_s_i_s_t_e_n_t
                                 _i_n_t_e_g_r_a_t_i_o_n _o_f _a_c_t_i_v_a_t_i_o_n _a_n_d
                                 _s_e_l_e_c_t_i_o_n _i_n _a _c_o_l_l_e_c_t_i_o_n _w_h_e_r_e
                                 _e_l_e_m_e_n_t_s _c_a_n _b_e _b_o_t_h _s_e_l_e_c_t_e_d _a_n_d
                                 _a_c_t_i_v_a_t_e_d.



        B.5.2  AAcccceelleerraattoorrss



             YYeess NN//AA NNoo

             _ _ _55--66::            If your application uses
                                 accelerators, the component with
                                 the accelerator displays the
                                 accelerator key or key combination
                                 following the Label of the
                                 component (Section 5.2).

                                 _A_n _a_c_c_e_l_e_r_a_t_o_r _i_s _a _k_e_y _o_r _k_e_y
                                 _c_o_m_b_i_n_a_t_i_o_n _t_h_a_t _i_n_v_o_k_e_s _t_h_e _a_c_t_i_o_n
                                 _o_f _s_o_m_e _c_o_m_p_o_n_e_n_t _r_e_g_a_r_d_l_e_s_s _o_f _t_h_e
                                 _p_o_s_i_t_i_o_n _o_f _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r




        August 26, 1994                                         B-49







        OSF/Motif Style Guide


                                 _w_h_e_n _t_h_e _a_c_c_e_l_e_r_a_t_o_r _i_s _p_r_e_s_s_e_d.
                                 _S_o _t_h_a_t _t_h_e _u_s_e_r _k_n_o_w_s _t_h_a_t _t_h_e_r_e
                                 _i_s _a_n _a_c_c_e_l_e_r_a_t_o_r _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a
                                 _c_o_m_p_o_n_e_n_t, _t_h_e _a_c_c_e_l_e_r_a_t_o_r _n_e_e_d_s _t_o
                                 _b_e _d_i_s_p_l_a_y_e_d.

             _ _ _55--77::            If a button with an accelerator is
                                 within a primary or secondary
                                 window, or within a Pulldown Menu
                                 system from its MenuBar, it is
                                 activatable whenever the input
                                 focus is in the window or the
                                 MenuBar system.  If a button with
                                 an accelerator is within a Popup
                                 Menu system, it is activatable
                                 whenever the focus is in the Popup
                                 Menu system or the component with
                                 the Popup Menu (Section 5.2).

                                 _A_n _a_c_c_e_l_e_r_a_t_o_r _m_u_s_t _b_e _a_c_t_i_v_a_t_a_b_l_e
                                 _f_r_o_m _t_h_e _w_i_n_d_o_w _o_r _c_o_m_p_o_n_e_n_t
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _a_c_c_e_l_e_r_a_t_o_r.



        B.5.3  MMnneemmoonniiccss



             YYeess NN//AA NNoo

             _ _ _55--88::            If your application uses mnemonics,
                                 the Label for the component with
                                 the mnemonic contains the character
                                 that is its mnemonic.  If the Label
                                 does not naturally contain the
                                 character, the mnemonic is placed
                                 in parentheses following the Label
                                 (Section 5.3).

                                 _A _m_n_e_m_o_n_i_c _i_s _a _s_i_n_g_l_e _c_h_a_r_a_c_t_e_r
                                 _t_h_a_t _c_a_n _b_e _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a_n_y
                                 _c_o_m_p_o_n_e_n_t _t_h_a_t _c_o_n_t_a_i_n_s _a _t_e_x_t
                                 _L_a_b_e_l.  _M_n_e_m_o_n_i_c_s _p_r_o_v_i_d_e _a _f_a_s_t
                                 _w_a_y _o_f _s_e_l_e_c_t_i_n_g _a _c_o_m_p_o_n_e_n_t _f_r_o_m
                                 _t_h_e _k_e_y_b_o_a_r_d.  _S_o _t_h_a_t _t_h_e _u_s_e_r
                                 _k_n_o_w_s _t_h_a_t _t_h_e_r_e _i_s _a _m_n_e_m_o_n_i_c
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a _s_e_l_e_c_t_i_o_n, _t_h_e
                                 _m_n_e_m_o_n_i_c _i_s _u_n_d_e_r_l_i_n_e_d _i_n _t_h_e _L_a_b_e_l
                                 _o_f _t_h_e _s_e_l_e_c_t_i_o_n _b_y _t_h_e _t_o_o_l_k_i_t.
                                 _I_n _o_r_d_e_r _f_o_r _a _m_n_e_m_o_n_i_c _t_o _b_e




        B-50                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _u_n_d_e_r_l_i_n_e_d, _t_h_e _L_a_b_e_l _f_o_r _a
                                 _s_e_l_e_c_t_i_o_n _n_e_e_d_s _t_o _c_o_n_t_a_i_n _t_h_e
                                 _m_n_e_m_o_n_i_c _c_h_a_r_a_c_t_e_r.  _P_u_t_t_i_n_g _t_h_e
                                 _m_n_e_m_o_n_i_c _i_n _p_a_r_e_n_t_h_e_s_e_s _f_o_l_l_o_w_i_n_g
                                 _t_h_e _L_a_b_e_l _p_r_o_v_i_d_e_s _v_i_s_u_a_l
                                 _c_o_n_s_i_s_t_e_n_c_y.

             _ _ _55--99::            All mnemonics are case insensitive
                                 for activation (Section 5.3).

                                 _T_h_e _u_s_e_r _m_u_s_t _b_e _a_b_l_e _t_o _a_c_t_i_v_a_t_e _a
                                 _m_n_e_m_o_n_i_c _b_y _p_r_e_s_s_i_n_g _e_i_t_h_e_r _t_h_e
                                 _l_o_w_e_r_c_a_s_e _o_r _t_h_e _u_p_p_e_r_c_a_s_e _v_a_r_i_a_n_t
                                 _o_f _t_h_e _m_n_e_m_o_n_i_c _k_e_y.

             _ _ 55_--1100::            When the location cursor is within
                                 a Menu or a MenuBar, pressing the
                                 mnemonic key of a component within
                                 that Menu or MenuBar moves the
                                 location cursor to the component
                                 and activates it.  If a mnemonic is
                                 used for an OptionButton or for a
                                 CascadeButton in a MenuBar,
                                 pressing <<AAlltt>> and the mnemonic
                                 anywhere in the window or its Menus
                                 moves the cursor to the component
                                 with that mnemonic and activates it
                                 (Section 5.3).

                                 _A _m_n_e_m_o_n_i_c _i_s _g_e_n_e_r_a_l_l_y _a_c_t_i_v_a_t_a_b_l_e
                                 _w_h_e_n _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s _w_i_t_h_i_n
                                 _t_h_e _c_o_m_p_o_n_e_n_t _t_h_a_t _c_o_n_t_a_i_n_s _t_h_e
                                 _m_n_e_m_o_n_i_c.  _P_r_e_s_s_i_n_g <<AAlltt>> _a_n_d _t_h_e
                                 _m_n_e_m_o_n_i_c _p_r_o_v_i_d_e_s _a _w_a_y _t_o _a_c_t_i_v_a_t_e
                                 _a _v_i_s_i_b_l_e _m_n_e_m_o_n_i_c _w_h_e_n _t_h_e
                                 _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s _w_i_t_h_i_n _t_h_e
                                 _w_i_n_d_o_w _t_h_a_t _c_o_n_t_a_i_n_s _t_h_e _m_n_e_m_o_n_i_c.



        B.5.4  TTeeaarrOOffff AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 55_--1111::            Activating a TearOffButton tears
                                 off the Menu that contains the
                                 button (Section 5.4).






        August 26, 1994                                         B-51







        OSF/Motif Style Guide


                                 _A _T_e_a_r_O_f_f_B_u_t_t_o_n _i_s _l_i_k_e _a
                                 _P_u_s_h_B_u_t_t_o_n _w_i_t_h _t_h_e _s_p_e_c_i_a_l
                                 _i_n_t_e_r_a_c_t_i_o_n _o_f _t_e_a_r_i_n_g _o_f_f _t_h_e _M_e_n_u
                                 _f_r_o_m _i_t_s _C_a_s_c_a_d_e_B_u_t_t_o_n.
                                 _T_e_a_r_O_f_f_B_u_t_t_o_n_s _u_s_e _t_h_e _s_a_m_e _b_a_s_i_c
                                 _a_c_t_i_v_a_t_i_o_n _a_s _o_t_h_e_r _b_u_t_t_o_n_s.

             _ _ 55_--1122::            When a Menu with a TearOffButton is
                                 posted, pressing BBTTrraannssffeerr in the
                                 TearOffButton starts a TearOff
                                 action.  As long as BBTTrraannssffeerr is
                                 held, a representation of the Menu
                                 follows the movement of the
                                 pointer.  Releasing BBTTrraannssffeerr ends
                                 the TearOff action by unposting the
                                 Menu system, creating a new window
                                 at the current pointer location
                                 that contains the contents of the
                                 Menu, and giving focus to the new
                                 window in explicit pointer mode
                                 (Section 5.4).

                                 BBTTrraannssffeerr, _t_h_e _s_e_c_o_n_d _m_o_u_s_e _b_u_t_t_o_n,
                                 _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _T_e_a_r_O_f_f_B_u_t_t_o_n.



        B.5.5  HHeellpp AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 55_--1133::            Your application uses <<HHeellpp>> on a
                                 component to invoke any context-
                                 sensitive help for the component or
                                 its nearest ancestor with context-
                                 sensitive help available (Section
                                 5.5).

                                 <<HHeellpp>> _o_f_f_e_r_s _t_h_e _u_s_e_r _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _i_n_v_o_k_i_n_g _c_o_n_t_e_x_t-
                                 _s_e_n_s_i_t_i_v_e _h_e_l_p.











        B-52                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


        B.5.6  DDeeffaauulltt AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 55_--1144::            If your application uses default
                                 PushButtons in a window, the
                                 current default PushButton is
                                 highlighted.  When the focus is on
                                 a PushButton, its action is the
                                 default action, and the PushButton
                                 shows default highlighting.  If the
                                 default action in a window varies,
                                 some PushButton always has default
                                 highlighting, except when there is
                                 no current default action (Section
                                 5.6).

                                 _P_l_a_c_i_n_g _e_m_p_h_a_s_i_s _o_n _t_h_e _d_e_f_a_u_l_t
                                 _P_u_s_h_B_u_t_t_o_n _i_n _a _D_i_a_l_o_g_B_o_x _p_r_o_v_i_d_e_s
                                 _t_h_e _u_s_e_r _w_i_t_h _a _v_i_s_u_a_l _c_u_e _a_b_o_u_t
                                 _t_h_e _e_x_p_e_c_t_e_d _r_e_p_l_y _t_o _t_h_e _d_i_a_l_o_g.

             _ _ 55_--1155::            When focus is in a window with a
                                 default action, <<EEnntteerr>> and <<CCttrrll>>
                                 <<RReettuurrnn>> invoke the default action.
                                 If focus is in a component other
                                 than multiline Text, <<RReettuurrnn>> also
                                 invokes the default action.  These
                                 actions have no other effect on the
                                 component with the focus, unless
                                 the default action has some effect
                                 on that component (Section 5.6).

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_a_t _t_h_e _m_e_a_n_s
                                 _o_f _i_n_v_o_k_i_n_g _a _d_e_f_a_u_l_t _a_c_t_i_o_n _a_r_e
                                 _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 55_--1166::            Except in the middle of a button
                                 motion operation, <<CCaanncceell>> anywhere
                                 in a DialogBox is equivalent to
                                 activating the CCaanncceell PushButton in
                                 the DialogBox (Section 5.6).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a _u_n_i_f_o_r_m _m_e_a_n_s
                                 _o_f _c_a_n_c_e_l_i_n_g _a _D_i_a_l_o_g_B_o_x _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d.







        August 26, 1994                                         B-53







        OSF/Motif Style Guide


        B.5.7  EExxppeerrtt AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 55_--1177::            If your application supports expert
                                 activation, expert actions exist
                                 only as shortcuts to application
                                 features that are available through
                                 another mechanism (Section 5.7).

                                 _E_x_p_e_r_t _a_c_t_i_v_a_t_i_o_n, _u_s_i_n_g _m_o_u_s_e
                                 _d_o_u_b_l_e-_c_l_i_c_k_i_n_g _o_n _b_u_t_t_o_n_s,
                                 _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r
                                 _e_x_p_e_r_i_e_n_c_e_d _u_s_e_r_s _t_o _p_e_r_f_o_r_m
                                 _c_e_r_t_a_i_n _t_a_s_k_s _q_u_i_c_k_l_y.  _H_o_w_e_v_e_r,
                                 _n_e_w _u_s_e_r_s _a_n_d _k_e_y_b_o_a_r_d-_o_n_l_y _u_s_e_r_s
                                 _n_e_e_d _t_o _b_e _a_b_l_e _t_o _p_e_r_f_o_r_m _t_h_e _s_a_m_e
                                 _t_a_s_k_s.

             _ _ 55_--1188::            When the focus is on a button used
                                 for expert activation, no default
                                 action is available, unless the
                                 default and expert actions are the
                                 same (Section 5.7).

                                 _T_h_i_s _r_u_l_e _m_i_n_i_m_i_z_e_s _p_o_s_s_i_b_l_e
                                 _c_o_n_f_u_s_i_o_n _b_e_t_w_e_e_n _d_e_f_a_u_l_t _a_n_d
                                 _e_x_p_e_r_t _a_c_t_i_v_a_t_i_o_n.

             _ _ 55_--1199::            If a component with an expert
                                 action is selectable, activating
                                 the expert action first selects the
                                 component and then performs the
                                 expert action (Section 5.7).

                                 _A _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o _s_e_l_e_c_t _a
                                 _c_o_m_p_o_n_e_n_t, _e_v_e_n _i_f _i_t _h_a_s _a_n _e_x_p_e_r_t
                                 _a_c_t_i_o_n _a_s_s_o_c_i_a_t_e_d _w_i_t_h _i_t.



        B.5.8  PPrreevviieewwiinngg aanndd AAuuttoorreeppeeaatt



             YYeess NN//AA NNoo

             _ _ 55_--2200::            If your application supports
                                 activation preview using BBSSeelleecctt,




        B-54                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 the previewing information is
                                 removed when the user releases
                                 BBSSeelleecctt (Section 5.8).

                                 _A_c_t_i_v_a_t_i_o_n _p_r_e_v_i_e_w _p_r_e_s_e_n_t_s _t_h_e
                                 _u_s_e_r _w_i_t_h _a_d_d_i_t_i_o_n_a_l _i_n_f_o_r_m_a_t_i_o_n
                                 _t_h_a_t _d_e_s_c_r_i_b_e_s _t_h_e _e_f_f_e_c_t _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _b_u_t_t_o_n.  _T_h_i_s
                                 _i_n_f_o_r_m_a_t_i_o_n _c_a_n_n_o_t _i_n_t_e_r_f_e_r_e _w_i_t_h
                                 _t_h_e _n_o_r_m_a_l _o_p_e_r_a_t_i_o_n _o_f _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n.



        B.5.9  CCaanncceell AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 55_--2211::            Pressing <<CCaanncceell>> stops the current
                                 interaction in the following
                                 contexts (Section 5.9):

                                    +o During a mouse-based selection
                                      or drag operation, it cancels
                                      the operation.

                                    +o During a mouse-based scrolling
                                      operation, it cancels the
                                      scrolling action and returns
                                      the system to its state prior
                                      to the start of the scrolling
                                      operation.

                                    +o Anywhere in a DialogBox that
                                      has a CCaanncceell PushButton, it is
                                      equivalent to activating that
                                      PushButton, except during a
                                      mouse-based selection or drag
                                      operation.

                                    +o In a Pulldown Menu, it either
                                      dismisses the Menu and moves
                                      the location cursor to the
                                      CascadeButton used to pull it
                                      down, or unposts the entire
                                      Menu system.  In a Popup Menu,
                                      Option Menu, TearOff Menu, or
                                      MenuBar, it unposts the Menu
                                      system.




        August 26, 1994                                         B-55







        OSF/Motif Style Guide


                                    +o When the focus is in a torn
                                      off Menu window, it closes the
                                      torn off Menu window.

                                 _T_h_e_s_e _g_u_i_d_e_l_i_n_e_s _f_o_r <<CCaanncceell>>
                                 _e_n_s_u_r_e _t_h_e _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f
                                 _t_h_e _k_e_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.6  AApppplliiccaattiioonn DDeessiiggnn PPrriinncciipplleess





        B.6.1  LLaayyoouutt





        B.6.1.1  MMaaiinnWWiinnddooww



             YYeess NN//AA NNoo

             _ _ _66--11::            Your application has at least one
                                 MainWindow (Section 6.2.1.1).

                                 _A _M_a_i_n_W_i_n_d_o_w _c_o_n_t_a_i_n_s _a _c_l_i_e_n_t _a_r_e_a
                                 _a_n_d, _o_p_t_i_o_n_a_l_l_y, _a _M_e_n_u_B_a_r, _a
                                 _c_o_m_m_a_n_d _a_r_e_a, _a _m_e_s_s_a_g_e _a_r_e_a, _a_n_d
                                 _S_c_r_o_l_l_B_a_r_s.  _T_h_e _c_l_i_e_n_t _a_r_e_a
                                 _c_o_n_t_a_i_n_s _t_h_e _f_r_a_m_e_w_o_r_k _o_f _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n.  _T_h_e _u_s_e _o_f _a
                                 _M_a_i_n_W_i_n_d_o_w _e_n_s_u_r_e_s _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n
                                 _c_o_n_s_i_s_t_e_n_c_y.

             _ _ _66--22::            If your application has multiple
                                 MainWindows that serve the same
                                 primary function, each window
                                 closes and iconifies separately
                                 (Section 6.2.1.1).

                                 _F_o_r _e_x_a_m_p_l_e, _a _t_e_x_t _e_d_i_t_o_r _m_i_g_h_t
                                 _a_l_l_o_w _t_h_e _u_s_e_r _t_o _e_d_i_t _m_u_l_t_i_p_l_e
                                 _d_o_c_u_m_e_n_t_s, _e_a_c_h _i_n _i_t_s _o_w_n
                                 _M_a_i_n_W_i_n_d_o_w.  _E_a_c_h _w_i_n_d_o_w _i_s _t_h_e_n
                                 _t_r_e_a_t_e_d _a_s _a _s_e_p_a_r_a_t_e _a_p_p_l_i_c_a_t_i_o_n




        B-56                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 _a_n_d _c_a_n _b_e _c_l_o_s_e_d _o_r _i_c_o_n_i_f_i_e_d _w_h_e_n
                                 _i_t _i_s _n_o_t _b_e_i_n_g _u_s_e_d.

             _ _ _66--33::            If your application has multiple
                                 MainWindows that serve different
                                 primary functions, each window
                                 iconifies separately (Section
                                 6.2.1.1).

                                 _F_o_r _e_x_a_m_p_l_e, _a _d_e_b_u_g_g_e_r _m_i_g_h_t
                                 _p_r_o_v_i_d_e _s_e_p_a_r_a_t_e _M_a_i_n_W_i_n_d_o_w_s _f_o_r
                                 _e_d_i_t_i_n_g _s_o_u_r_c_e _c_o_d_e, _e_x_a_m_i_n_i_n_g _d_a_t_a
                                 _v_a_l_u_e_s, _a_n_d _v_i_e_w_i_n_g _r_e_s_u_l_t_s.  _E_a_c_h
                                 _w_i_n_d_o_w _c_a_n _b_e _i_c_o_n_i_f_i_e_d _w_h_e_n _i_t _i_s
                                 _n_o_t _b_e_i_n_g _u_s_e_d, _b_u_t _i_t _i_s _u_p _t_o _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n _t_o _d_e_c_i_d_e _w_h_e_t_h_e_r _e_a_c_h
                                 _w_i_n_d_o_w _c_l_o_s_e_s _s_e_p_a_r_a_t_e_l_y _o_r _w_h_e_t_h_e_r
                                 _c_l_o_s_i_n_g _o_n_e _w_i_n_d_o_w _c_l_o_s_e_s _t_h_e
                                 _e_n_t_i_r_e _a_p_p_l_i_c_a_t_i_o_n.



        B.6.1.2  MMeennuuBBaarr



             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.

             YYeess NN//AA NNoo

             _ _ _66--44::            If your application has a MenuBar,
                                 it is a horizontal bar at the top
                                 edge of the application, just below
                                 the title area of the window frame,
                                 if present (Section 6.2.1.5).

                                 _A _M_e_n_u_B_a_r _o_r_g_a_n_i_z_e_s _t_h_e _m_o_s_t _c_o_m_m_o_n
                                 _f_e_a_t_u_r_e_s _o_f _a_n _a_p_p_l_i_c_a_t_i_o_n.  _I_t
                                 _c_o_n_t_a_i_n_s _a _l_i_s_t _o_f _M_e_n_u _t_o_p_i_c_s _i_n
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n_s; _e_a_c_h _b_u_t_t_o_n _i_s
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a _d_i_s_t_i_n_c_t _P_u_l_l_d_o_w_n
                                 _M_e_n_u _c_o_n_t_a_i_n_i_n_g _c_o_m_m_a_n_d_s _t_h_a_t _a_r_e
                                 _g_r_o_u_p_e_d _b_y _c_o_m_m_o_n _f_u_n_c_t_i_o_n_a_l_i_t_y.
                                 _T_h_e _u_s_e _o_f _a _M_e_n_u_B_a_r _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.






        August 26, 1994                                         B-57







        OSF/Motif Style Guide


             _ _ _66--55::            The MenuBar for your application
                                 contains only CascadeButtons
                                 (Section 6.2.1.5).

                                 _W_h_e_n _o_t_h_e_r _b_u_t_t_o_n_s _a_r_e _i_n_c_l_u_d_e_d _a_s
                                 _t_o_p_i_c_s _i_n _a _M_e_n_u_B_a_r, _t_h_e_y _i_n_h_i_b_i_t
                                 _M_e_n_u _b_r_o_w_s_i_n_g.

             _ _ _66--66::            If any of the common Menus are
                                 present in the MenuBar, they are
                                 arranged in the following order
                                 with respect to each other, ranging
                                 from left to right across the
                                 MenuBar (Section 6.2.1.5):

                                      FFiillee Menu
                                      SSeelleecctteedd Menu
                                      EEddiitt Menu
                                      VViieeww Menu
                                      OOppttiioonnss Menu
                                      HHeellpp Menu

                                 If a FFiillee Menu is present, it is
                                 the first Menu and is placed at the
                                 far left of the MenuBar.  If a HHeellpp
                                 Menu is present, it is the last
                                 Menu and is placed at the far right
                                 of the MenuBar.

                                 _T_h_e _o_r_d_e_r_i_n_g _o_f _c_o_m_m_o_n _M_e_n_u_s _i_n _t_h_e
                                 _M_e_n_u_B_a_r _e_n_s_u_r_e_s _c_o_n_s_i_s_t_e_n_c_y _a_m_o_n_g
                                 _a_p_p_l_i_c_a_t_i_o_n_s.  _Y_o_u _c_a_n _o_m_i_t _a_n_y _o_f
                                 _t_h_e_s_e _M_e_n_u_s _i_f _t_h_e_y _a_r_e _n_o_t
                                 _r_e_l_e_v_a_n_t _t_o _t_h_e _a_p_p_l_i_c_a_t_i_o_n.  _Y_o_u
                                 _c_a_n _a_l_s_o _i_n_t_e_r_s_p_e_r_s_e _o_t_h_e_r,
                                 _a_p_p_l_i_c_a_t_i_o_n-_s_p_e_c_i_f_i_c, _M_e_n_u_s _a_m_o_n_g
                                 _t_h_e_s_e _M_e_n_u_s.



        B.6.1.2.1  FFiillee MMeennuu CCoonntteennttss


             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.

             YYeess NN//AA NNoo





        B-58                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                  66--77::           If your application uses a FFiillee
                                 Menu, it contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.5.1).

             _ _ _   __NNeeww                Creates a new file.  If the
                                        current client area will be
                                        used to display the new
                                        file, your application
                                        clears the existing data
                                        from the client area.  If
                                        changes made to the current
                                        file will be lost, your
                                        application displays a
                                        DialogBox, asking the user
                                        about saving changes.  Has
                                        the mnemonic NN.

             _ _ _   __OOppeenn......            Opens an existing file by
                                        prompting the user for a
                                        filename with a DialogBox.
                                        If changes made to the
                                        current file will be lost,
                                        your application displays a
                                        DialogBox asking the user
                                        about saving changes.  Has
                                        the mnemonic OO.

             _ _ _   __SSaavvee               Saves the currently opened
                                        file without removing the
                                        existing contents of the
                                        client area.  If the file
                                        has no name, your
                                        application displays a
                                        DialogBox, prompting the
                                        user to enter a filename.
                                        Has the mnemonic SS.

             _ _ _   SSaavvee __AAss......
                                        Saves the currently opened
                                        file under a new name by
                                        prompting the user for a
                                        filename with a DialogBox.
                                        If the user tries to save
                                        the file using an existing
                                        name, your application
                                        displays a DialogBox that
                                        warns the user about a
                                        possible loss of data.  Does




        August 26, 1994                                         B-59







        OSF/Motif Style Guide


                                        not remove the existing
                                        contents of the client area.
                                        Has the mnemonic AA.

             _ _ _   __PPrriinntt              Schedules a file for
                                        printing.  If your
                                        application needs specific
                                        information in order to
                                        print, it displays a
                                        DialogBox, requesting the
                                        information from the user.
                                        In this case, the Menu entry
                                        is followed by an ellipsis
                                        (PPrriinntt......).  Has the
                                        mnemonic PP.

             _ _ _   __CClloossee              Closes the current primary
                                        window and its associated
                                        secondary windows.  If your
                                        application uses only a
                                        single primary window or
                                        multiple dependent primary
                                        windows, this action is not
                                        supplied.  Has the mnemonic
                                        CC.

             _ _ _   EE__xxiitt               Ends the current application
                                        and all windows associated
                                        with it.  If changes made to
                                        the current file will be
                                        lost, your application
                                        displays a DialogBox, asking
                                        the user about saving
                                        changes.  Has the mnemonic
                                        XX.

                                 _T_h_e _u_s_e _o_f _a _F_i_l_e _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _f_i_l_e _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.6.1.2.2  EEddiitt MMeennuu CCoonntteennttss


             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.





        B-60                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


             YYeess NN//AA NNoo

                  66--88::           If your application uses an EEddiitt
                                 Menu, it contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.5.2):

             _ _ _   __UUnnddoo               Reverses the most recently
                                        executed action.  Has the
                                        mnemonic UU.

             _ _ _   CCuu__tt                Removes the selected portion
                                        of data from the client area
                                        and puts it on the
                                        clipboard.  Has the mnemonic
                                        TT.

             _ _ _   __CCooppyy               Copies the selected portion
                                        of data from the client area
                                        and puts it on the
                                        clipboard.  Has the mnemonic
                                        CC.

             _ _ _   CCooppyy LLiinn__kk
                                        Copies a link of the
                                        selected portion of data
                                        from the client area and
                                        puts it on the clipboard.
                                        Has the mnemonic KK.

             _ _ _   __PPaassttee              Pastes the contents of the
                                        clipboard into the client
                                        area.  Has the mnemonic PP.

             _ _ _   PPaassttee __LLiinnkk
                                        Pastes a link of the data
                                        represented by the contents
                                        of the clipboard into the
                                        client area.  Has the
                                        mnemonic LL.

             _ _ _   CCll__eeaarr              Removes a selected portion
                                        of data from the client area
                                        without copying it to the
                                        clipboard and does not
                                        compress the remaining data.
                                        Has the mnemonic EE.






        August 26, 1994                                         B-61







        OSF/Motif Style Guide


             _ _ _   __DDeelleettee             Removes a selected portion
                                        of data from the client area
                                        without copying it to the
                                        clipboard.  Has the mnemonic
                                        DD.

             _ _ _   SSeelleecctt AAllll
                                        Sets the primary selection
                                        to be all the elements in a
                                        component of the client
                                        area.

             _ _ _   DDeesseelleecctt AAllll
                                        Removes from the primary
                                        selection all the elements
                                        in a component of the client
                                        area.

             _ _ _   SSeelleecctt PPaasstteedd
                                        Sets the primary selection
                                        to the last element or
                                        elements pasted into a
                                        component of the client
                                        area.

             _ _ _   RReesseelleecctt
                                        Sets the primary selection
                                        to the last selected element
                                        or elements in a component
                                        of the client area.  This
                                        action is available only in
                                        components that do not
                                        support persistent
                                        selections and only when the
                                        current selection is empty.

             _ _ _   PPrroommoottee
                                        Promotes to the primary
                                        selection the current
                                        selection of a component of
                                        the client area.  This
                                        action is available only for
                                        components that support
                                        persistent selections.

                                 _T_h_e _u_s_e _o_f _a_n _E_d_i_t _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _e_d_i_t_i_n_g _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _66--99::            If your application uses
                                 accelerators for UUnnddoo, CCuutt, CCooppyy,




        B-62                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 and PPaassttee in an EEddiitt Menu, it uses
                                 either one or both of the models
                                 presented in the following two
                                 tables (Section 6.2.1.5.2).

                TTAABBLLEE BB--11..  Edit Menu Accelerators, Model 1

                       EEddiitt MMeennuu IItteemm   AAcccceelleerraattoorr
                       __________________________________
                       UUnnddoo             <<AAlltt>> <<BBaacckkSSppaaccee>>
                       CCuutt              <<SShhiifftt>> <<DDeelleettee>>
                       CCooppyy             <<CCttrrll>> <<IInnsseerrtt>>
                       PPaassttee            <<SShhiifftt>> <<IInnsseerrtt>>

                TTAABBLLEE BB--22..  Edit Menu Accelerators, Model 2

                          EEddiitt MMeennuu IItteemm   AAcccceelleerraattoorr
                          ____________________________
                          UUnnddoo             <<CCttrrll>> <<ZZ>>
                          CCuutt              <<CCttrrll>> <<XX>>
                          CCooppyy             <<CCttrrll>> <<CC>>
                          PPaassttee            <<CCttrrll>> <<VV>>

             _T_h_e_s_e _m_o_d_e_l_s _p_r_o_v_i_d_e _c_o_n_s_i_s_t_e_n_t _s_e_t_s _o_f _a_c_c_e_l_e_r_a_t_o_r_s
             _f_o_r _c_o_m_m_o_n _e_d_i_t_i_n_g _o_p_e_r_a_t_i_o_n_s _i_n _a_n _E_d_i_t _M_e_n_u.



        B.6.1.2.3  HHeellpp MMeennuu CCoonntteennttss


             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.

             YYeess NN//AA NNoo

                 66--1100::           If your application uses a HHeellpp
                                 Menu, it contains either of the
                                 following two sets of choices, with
                                 the specified functionality, when
                                 the actions are actually supported
                                 by your application (Section
                                 6.2.1.5.3):

             _ _ _   OOnn CC__oonntteexxtt
                                        Initiates context-sensitive
                                        help by changing the shape
                                        of the pointer to the




        August 26, 1994                                         B-63







        OSF/Motif Style Guide


                                        question pointer, described
                                        in Section 2.2.2.  When the
                                        user moves the pointer to a
                                        component and presses
                                        BBSSeelleecctt, any available
                                        context-sensitive help for
                                        the component is presented,
                                        and the pointer returns to
                                        its original shape.  Has the
                                        mnemonic CC.  If this action
                                        uses an accelerator, it is
                                        <<SShhiifftt>> <<HHeellpp>>.

             _ _ _   OOnn HH__eellpp
                                        Provides information on how
                                        to use your application's
                                        help facility.  Has the
                                        mnemonic HH.

             _ _ _   OOnn WW__iinnddooww
                                        Provides general information
                                        about the window from which
                                        help was requested.  Has the
                                        mnemonic WW.

             _ _ _   OOnn KK__eeyyss
                                        Provides information about
                                        your application's use of
                                        function keys, mnemonics,
                                        and keyboard accelerators.
                                        Has the mnemonic KK.

             _ _ _   II__nnddeexx              Provides an index for all
                                        help information in your
                                        application.  Has the
                                        mnemonic II.

             _ _ _   TT__uuttoorriiaall
                                        Provides access to your
                                        application's tutorial.  Has
                                        the mnemonic TT.

             _ _ _   OOnn VV__eerrssiioonn
                                        Provides at least the name
                                        and version of your
                                        application.  Has the
                                        mnemonic VV.

                                 If your application uses a HHeellpp
                                 Menu, and it does not use the
                                 previous set of choices, the HHeellpp




        B-64                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 Menu contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.5.3):

             _ _ _   CC__oonntteexxtt--SSeennssiittiivvee HHeellpp
                                        Initiates context-sensitive
                                        help by changing the shape
                                        of the pointer to the
                                        question pointer, described
                                        in Section 2.2.2.  When the
                                        user moves the pointer to a
                                        component and presses
                                        BBSSeelleecctt, any available
                                        context-sensitive help for
                                        the component is presented
                                        and the pointer returns to
                                        its original shape.  Has the
                                        mnemonic CC.  If this action
                                        uses an accelerator, it is
                                        <<SShhiifftt>> <<HHeellpp>>.

             _ _ _   OO__vveerrvviieeww
                                        Provides general information
                                        about the application window
                                        from which help was
                                        requested.  Has the mnemonic
                                        OO.

             _ _ _   II__nnddeexx              Provides an index for all
                                        help information in your
                                        application.  Has the
                                        mnemonic II.

             _ _ _   KK__eeyybbooaarrdd
                                        Provides information about
                                        your application's use of
                                        function keys, mnemonics,
                                        and keyboard accelerators.
                                        Has the mnemonic KK.

             _ _ _   TT__uuttoorriiaall
                                        Provides access to your
                                        application's tutorial.  Has
                                        the mnemonic TT.

             _ _ _   UUssiinngg HH__eellpp
                                        Provides information on how
                                        to use your application's
                                        help facility.  Has the




        August 26, 1994                                         B-65







        OSF/Motif Style Guide


                                        mnemonic HH.

             _ _ _   PP__rroodduucctt IInnffoorrmmaattiioonn
                                        Provides at least the name
                                        and version of your
                                        application.  Has the
                                        mnemonic PP.

                                 _T_h_e _u_s_e _o_f _a _H_e_l_p _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _h_e_l_p _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.6.1.3  PPooppuupp MMeennuuss



             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.

             YYeess NN//AA NNoo

                 66--1111::           If your application uses any of the
                                 common Popup Menu actions, the
                                 actions function according to the
                                 following specifications (Section
                                 6.2.1.6):

             _ _ _   PPrrooppeerrttiieess
                                        Displays a properties
                                        DialogBox that the user can
                                        use to set the properties of
                                        the component.

             _ _ _   UUnnddoo               Reverses the most recently
                                        executed action.

             _ _ _   PPrriimmaarryy MMoovvee
                                        Moves the contents of the
                                        primary selection to the
                                        component.  This action is
                                        available only in editable
                                        components.

             _ _ _   PPrriimmaarryy CCooppyy
                                        Copies the contents of the
                                        primary selection to the




        B-66                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                        component.  This action is
                                        available only in editable
                                        components.

             _ _ _   PPrriimmaarryy LLiinnkk
                                        Places a link to the primary
                                        selection in the component.
                                        This action is available
                                        only in editable components.

             _ _ _   CCuutt                Cuts elements to the
                                        clipboard.  If the Menu is
                                        popped up in a selection,
                                        cuts the entire selection to
                                        the clipboard.

             _ _ _   CCooppyy               Copies elements to the
                                        clipboard.  If the Menu is
                                        popped up in a selection,
                                        copies the entire selection
                                        to the clipboard.

             _ _ _   CCooppyy LLiinnkk
                                        Copies a link of elements to
                                        the clipboard.  If the Menu
                                        is popped up in a selection,
                                        copies a link to the entire
                                        selection to the clipboard.

             _ _ _   PPaassttee              Pastes the contents of the
                                        clipboard to the component.
                                        This action is available
                                        only in editable components.

             _ _ _   PPaassttee LLiinnkk
                                        Pastes a link of the
                                        contents of the clipboard to
                                        the component.  This action
                                        is available only in
                                        editable components.

             _ _ _   CClleeaarr              Removes a selected portion
                                        of data from the client area
                                        without copying it to the
                                        clipboard.  If the Menu is
                                        popped up in a selection,
                                        deletes the selection.

             _ _ _   DDeelleettee
                                        Removes a selected portion
                                        of data from the client area




        August 26, 1994                                         B-67







        OSF/Motif Style Guide


                                        without copying it to the
                                        clipboard.  If the Menu is
                                        popped up in a selection,
                                        deletes the selection.

             _ _ _   SSeelleecctt AAllll
                                        Sets the primary selection
                                        to be all of the elements in
                                        the collection with the
                                        Popup Menu.

             _ _ _   DDeesseelleecctt AAllll
                                        Deselects the current
                                        selection in the collection
                                        with the Popup Menu.

             _ _ _   SSeelleecctt PPaasstteedd
                                        Sets the primary selection
                                        to be the last element or
                                        elements pasted into the
                                        collection with the Popup
                                        Menu.

             _ _ _   RReesseelleecctt
                                        Sets the primary selection
                                        to be the last selected
                                        element or elements in the
                                        component with the Popup
                                        Menu.  This action is
                                        available only in components
                                        that do not support
                                        persistent selections and
                                        only when the current
                                        selection is empty.

             _ _ _   PPrroommoottee
                                        Promotes the current
                                        selection to the primary
                                        selection.  It is available
                                        only in components that
                                        support persistent
                                        selections.

                                 _T_h_e _u_s_e _o_f _P_o_p_u_p _M_e_n_u_s _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _a_c_t_i_o_n_s _y_i_e_l_d_s _c_o_n_s_i_s_t_e_n_c_y
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 66_--1122::            When a Popup Menu is popped up in
                                 the context of a selection, any
                                 action that acts on elements acts
                                 on the entire selection (Section




        B-68                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 6.2.1.6).

                                 _I_n _t_h_e _c_o_n_t_e_x_t _o_f _a _s_e_l_e_c_t_i_o_n,
                                 _P_o_p_u_p _M_e_n_u _a_c_t_i_o_n_s _a_f_f_e_c_t _t_h_e
                                 _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n.



        B.6.1.4  DDiiaallooggBBooxxeess



             YYeess NN//AA NNoo

             _ _ 66_--1133::            InformationDialogs do not interrupt
                                 the user's interaction with your
                                 application (Section 6.2.1.7.5).

                                 _A_n _I_n_f_o_r_m_a_t_i_o_n_D_i_a_l_o_g _c_o_n_v_e_y_s
                                 _i_n_f_o_r_m_a_t_i_o_n _t_o _t_h_e _u_s_e_r _t_h_a_t _d_o_e_s
                                 _n_o_t _r_e_q_u_i_r_e _i_m_m_e_d_i_a_t_e _a_t_t_e_n_t_i_o_n, _s_o
                                 _i_t _d_o_e_s _n_o_t _n_e_e_d _t_o _b_e _m_o_d_a_l.



        B.6.1.5  MMeennuu DDeessiiggnn



             YYeess NN//AA NNoo

             _ _ 66_--1144::            If your application uses a
                                 TearOffButton in a Menu, the
                                 TearOffButton is the first element
                                 in the Menu (Section 6.2.3).

                                 _W_h_e_n _a _T_e_a_r_O_f_f_B_u_t_t_o_n _i_s _a_c_t_i_v_a_t_e_d,
                                 _t_h_e _M_e_n_u _c_h_a_n_g_e_s _i_n_t_o _a _D_i_a_l_o_g_B_o_x.
                                 _T_h_e _T_e_a_r_O_f_f_B_u_t_t_o_n _n_e_e_d_s _t_o _b_e _t_h_e
                                 _f_i_r_s_t _i_t_e_m _i_n _t_h_e _M_e_n_u _s_o _t_h_a_t _t_h_e
                                 _e_n_t_i_r_e _c_o_n_t_e_n_t_s _o_f _t_h_e _M_e_n_u _a_r_e
                                 _t_o_r_n _o_f_f.

             _ _ 66_--1155::            All Menus are wide enough to
                                 accommodate their widest elements
                                 (Section 6.2.3).

                                 _T_h_e _a_b_i_l_i_t_y _t_o _s_e_e _t_h_e _f_u_l_l _L_a_b_e_l
                                 _o_f _e_a_c_h _M_e_n_u _e_l_e_m_e_n_t _a_l_l_o_w_s _t_h_e
                                 _u_s_e_r _t_o _b_r_o_w_s_e _t_h_r_o_u_g_h _a _M_e_n_u.





        August 26, 1994                                         B-69







        OSF/Motif Style Guide


        B.6.1.6  DDiiaallooggBBooxx DDeessiiggnn



             NNoottee::  These requirements apply only in a left-
                    to-right language environment in an
                    English-language locale.  You need to
                    make the appropriate changes for other
                    locales.

             YYeess NN//AA NNoo

                 66--1166::           If your application uses common
                                 DialogBox actions, the actions have
                                 the following specified
                                 functionality (Section 6.2.4.1):

             _ _ _   YYeess                   Indicates an affirmative
                                           response to a question
                                           posed in the DialogBox.

             _ _ _   NNoo                    Indicates a negative
                                           response to a question
                                           posed in the DialogBox.

             _ _ _   OOKK                    Applies any changes made
                                           to components in the
                                           DialogBox and dismisses
                                           the DialogBox.

             _ _ _   AAppppllyy                 Applies any changes made
                                           to components in the
                                           DialogBox.

             _ _ _   RReettrryy                 Causes the task in
                                           progress to be attempted
                                           again.

             _ _ _   SSttoopp                  Ends the task in progress
                                           at the next possible
                                           breaking point.

             _ _ _   PPaauussee                 Causes the task in
                                           progress to pause.

             _ _ _   RReessuummee                Causes a task that has
                                           paused to resume.

             _ _ _   RReesseett                 Cancels any user changes
                                           that have not been
                                           applied to your




        B-70                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                           application.  Resets the
                                           status of the DialogBox
                                           to the state since the
                                           last time the DialogBox
                                           action was applied or to
                                           the initial state of the
                                           DialogBox.

             _ _ _   CCaanncceell                Closes the DialogBox
                                           without performing any
                                           DialogBox actions not yet
                                           applied to your
                                           application.  Pressing
                                           <<CCaanncceell>> anywhere in the
                                           DialogBox, except during
                                           a cancelable drag
                                           operation, also performs
                                           the action of this
                                           button.

             _ _ _   HHeellpp                  Provides any help for the
                                           DialogBox.

                                 _T_h_e _u_s_e _o_f _c_o_m_m_o_n _a_c_t_i_o_n_s _p_r_o_v_i_d_e_s
                                 _a _c_o_n_s_i_s_t_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r _t_o
                                 _r_e_s_p_o_n_d _q_u_i_c_k_l_y _t_o _D_i_a_l_o_g_B_o_x_e_s _a_n_d
                                 _g_e_t _b_a_c_k _t_o _p_r_i_m_a_r_y _a_p_p_l_i_c_a_t_i_o_n
                                 _t_a_s_k_s.



        B.6.1.7  DDeessiiggnniinngg DDrraagg aanndd DDrroopp



             YYeess NN//AA NNoo

             _ _ 66_--1177::            If your application provides any
                                 drag and drop help DialogBoxes,
                                 they contain a CCaanncceell button for
                                 canceling the drag and drop
                                 operation in progress (Section
                                 6.2.5.4).

                                 The CCaanncceell button in the help
                                 DialogBox provides a convenient way
                                 for the user to cancel a drag and
                                 drop operation.







        August 26, 1994                                         B-71







        OSF/Motif Style Guide


        B.6.2  IInntteerraaccttiioonn



             YYeess NN//AA NNoo

             _ _ 66_--1188::            A WarningDialog allows the user to
                                 cancel the destructive action about
                                 which it is providing a warning
                                 (Section 6.3.2.2).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _h_a_v_e _a _w_a_y _t_o
                                 _c_a_n_c_e_l _a_n _o_p_e_r_a_t_i_o_n _t_h_a_t _c_a_n _c_a_u_s_e
                                 _d_e_s_t_r_u_c_t_i_v_e _r_e_s_u_l_t_s.



        B.7  CCoonnttrroollss,, GGrroouuppss,, aanndd MMooddeellss





        B.7.1  CChheecckkBBuuttttoonn



             YYeess NN//AA NNoo

             _ _ _77--11::            If your application uses
                                 CheckButtons, each button
                                 graphically indicates its state
                                 (Chapter 9).

                                 _A _C_h_e_c_k_B_u_t_t_o_n _i_s _u_s_e_d _t_o _s_e_l_e_c_t
                                 _s_e_t_t_i_n_g_s _t_h_a_t _a_r_e _n_o_t _m_u_t_u_a_l_l_y
                                 _e_x_c_l_u_s_i_v_e.  _T_h_e _u_s_e_r _n_e_e_d_s _t_o _k_n_o_w
                                 _w_h_e_t_h_e_r _t_h_e _b_u_t_t_o_n _i_s _s_e_t _o_r _n_o_t.

             _ _ _77--22::            When the user presses BBSSeelleecctt in a
                                 CheckButton, the CheckButton is
                                 armed.  If the CheckButton was
                                 previously unset, it is shown in
                                 the set state.  If the CheckButton
                                 was previously set, it is shown in
                                 the unset state (Chapter 9).

                                 BBSSeelleecctt PPrreessss _a_r_m_s _a _C_h_e_c_k_B_u_t_t_o_n
                                 _a_n_d _s_h_o_w_s _t_h_e _r_e_s_u_l_t _o_f _a_c_t_i_v_a_t_i_n_g
                                 _i_t _b_y _r_e_l_e_a_s_i_n_g BBSSeelleecctt.





        B-72                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ _77--33::            When the user releases BBSSeelleecctt in
                                 the same CheckButton that the press
                                 occurred in:

                                    +o If the CheckButton was
                                      previously unset, it is set.

                                    +o If the CheckButton was
                                      previously set, it is unset.

                                 In all cases the CheckButton is
                                 disarmed, and, if the CheckButton
                                 is in a Menu, the Menu is unposted
                                 (Chapter 9).

                                 BBSSeelleecctt RReelleeaassee _a_c_t_i_v_a_t_e_s _a
                                 _C_h_e_c_k_B_u_t_t_o_n.

             _ _ _77--44::            When the user presses <<EEnntteerr>> or
                                 <<RReettuurrnn>> in a CheckButton, if the
                                 CheckButton is in a window with a
                                 default action, the default action
                                 is activated.  If the CheckButton
                                 is in a Menu:

                                    +o If the CheckButton was
                                      previously unset, it is set.

                                    +o If the CheckButton was
                                      previously set, it is unset.

                                    +o In both cases, the CheckButton
                                      is disarmed, and the Menu is
                                      unposted (Chapter 9).

                                 <<EEnntteerr>> _a_n_d <<RReettuurrnn>> _p_e_r_f_o_r_m _t_h_e
                                 _d_e_f_a_u_l_t _a_c_t_i_o_n _o_f _a _w_i_n_d_o_w _o_r
                                 _a_c_t_i_v_a_t_e _a _C_h_e_c_k_B_u_t_t_o_n _i_n _a _M_e_n_u.

             _ _ _77--55::            When the user presses <<SSeelleecctt>> or
                                 <<SSppaaccee>> in a CheckButton, if the
                                 CheckButton was previously unset,
                                 it is set.  If the CheckButton was
                                 previously set, it is unset.  In
                                 both cases, the CheckButton is
                                 disarmed, and, if the CheckButton
                                 is in a Menu, the Menu is unposted
                                 (Chapter 9).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _a_c_t_i_v_a_t_e _a
                                 _C_h_e_c_k_B_u_t_t_o_n.




        August 26, 1994                                         B-73







        OSF/Motif Style Guide


        B.7.2  CCoommmmaannddBBooxx



             YYeess NN//AA NNoo

             _ _ _77--66::            If your application uses a
                                 CommandBox, it is composed of a
                                 Text component with a command line
                                 prompt for text input and a List
                                 component for a command history
                                 area.  The List uses either the
                                 single selection or browse
                                 selection model (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e _a_n_d _o_p_e_r_a_t_i_o_n
                                 _o_f _a _C_o_m_m_a_n_d_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _77--77::            When an element of a CommandBox
                                 List is selected, its contents are
                                 placed in the Text area (Chapter
                                 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _o_f _s_e_l_e_c_t_i_n_g _a
                                 _p_r_e_v_i_o_u_s_l_y _e_n_t_e_r_e_d _c_o_m_m_a_n_d.

             _ _ _77--88::            The List navigation actions <<||^^>>,
                                 <<||vv>>, <<CCttrrll>> <<BBeeggiinn>>, and <<CCttrrll>>
                                 <<EEnndd>> are available from the Text
                                 component for moving the cursored
                                 element within the List and thus
                                 changing the contents of the Text
                                 (Chapter 9).

                                 _T_h_e_s_e _a_c_t_i_o_n_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _c_h_o_o_s_e _a _c_o_m_m_a_n_d _f_r_o_m _t_h_e
                                 _L_i_s_t _w_h_i_l_e _f_o_c_u_s _r_e_m_a_i_n_s _i_n _t_h_e
                                 _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ _77--99::            The default action of the
                                 CommandBox passes the command in
                                 the Text area to the application
                                 for execution and adds the command
                                 to the end of the List (Chapter 9).

                                 _M_a_i_n_t_a_i_n_i_n_g _a _h_i_s_t_o_r_y _o_f _c_o_m_m_a_n_d_s
                                 _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s _o_f
                                 _e_n_t_e_r_i_n_g _o_f_t_e_n-_u_s_e_d _c_o_m_m_a_n_d_s.




        B-74                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


        B.7.3  FFiilleeSSeelleeccttiioonnBBooxx



             YYeess NN//AA NNoo

             _ _ 77_--1100::            If your application uses a
                                 FileSelectionBox, it is composed of
                                 at least the following components
                                 (Chapter 9):

                                    +o A Text component for
                                      displaying and editing a
                                      directory mask used to select
                                      files to be displayed.  The
                                      directory mask is a string
                                      specifying the base directory
                                      to be examined and a search
                                      pattern.

                                    +o A List component for
                                      displaying filenames.  The
                                      List uses either the single
                                      selection or browse selection
                                      model.

                                    +o A List component for
                                      displaying subdirectories.
                                      The List uses either the
                                      single selection or browse
                                      selection model.

                                    +o A Text component for
                                      displaying and editing a
                                      filename.

                                    +o A group of PushButtons,
                                      labeled OOKK, FFiilltteerr, CCaanncceell,
                                      and HHeellpp.

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_e
                                 _u_n_i_f_o_r_m _a_p_p_e_a_r_a_n_c_e _o_f _a
                                 _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--1111::            Your application allows the user to
                                 select a new directory to examine
                                 by scrolling through the List of
                                 directories and selecting the
                                 desired directory or by editing the
                                 directory mask.  Selecting a new




        August 26, 1994                                         B-75







        OSF/Motif Style Guide


                                 directory from the directory List
                                 does not change the search pattern
                                 (Chapter 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_e_l_e_c_t_i_n_g _a _n_e_w
                                 _d_i_r_e_c_t_o_r_y _t_o _e_x_a_m_i_n_e _n_e_e_d_s _t_o _b_e
                                 _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--1122::            Your application allows the user to
                                 select a new search pattern by
                                 editing the directory mask (Chapter
                                 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_p_e_c_i_f_y_i_n_g _a _n_e_w
                                 _s_e_a_r_c_h _p_a_t_t_e_r_n _n_e_e_d_s _t_o _b_e _u_n_i_f_o_r_m
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--1133::            The List navigation actions <<||^^>>,
                                 <<||vv>>, <<CCttrrll>> <<BBeeggiinn>>, and <<CCttrrll>>
                                 <<EEnndd>> are available from the Text
                                 components for moving the cursored
                                 element within each List and thus
                                 changing the contents of the Text.
                                 The contents of the directory Text
                                 correspond to the contents of the
                                 directory List, and the contents of
                                 the filename Text correspond to the
                                 contents of the filename List
                                 (Chapter 9).

                                 _T_h_e_s_e _a_c_t_i_o_n_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _c_h_o_o_s_e _a _d_i_r_e_c_t_o_r_y _o_r
                                 _f_i_l_e_n_a_m_e _f_r_o_m _t_h_e _c_o_r_r_e_s_p_o_n_d_i_n_g
                                 _L_i_s_t _w_h_i_l_e _f_o_c_u_s _r_e_m_a_i_n_s _i_n _t_h_e
                                 _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 77_--1144::            The FileSelectionBox initiates a
                                 directory and file search when any
                                 of the following occurs (Chapter
                                 9):

                                    +o The FileSelectionBox is
                                      initialized.

                                    +o The user activates the FFiilltteerr
                                      PushButton.

                                    +o The user double-clicks or
                                      presses <<EEnntteerr>> or <<RReettuurrnn>> on
                                      an item in the directory List.





        B-76                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                    +o The user presses <<EEnntteerr>> or
                                      <<RReettuurrnn>> while the directory
                                      mask Text edit area has the
                                      keyboard focus.

                                 _T_h_e _m_e_t_h_o_d _f_o_r _i_n_i_t_i_a_t_i_n_g _a _s_e_a_r_c_h
                                 _n_e_e_d_s _t_o _b_e _u_n_i_f_o_r_m _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--1155::            Your application allows the user to
                                 select a file by scrolling through
                                 the List of filenames and selecting
                                 the desired file or by entering the
                                 filename directly into the file
                                 selection Text component.
                                 Selecting a file from the List
                                 causes that filename to appear in
                                 the file selection Text area
                                 (Chapter 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_e_l_e_c_t_i_n_g _a _f_i_l_e
                                 _n_e_e_d_s _t_o _b_e _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--1166::            Your application allows the user to
                                 select a new file as many times as
                                 desired.  Your application does not
                                 make use of the selection until one
                                 of the following occurs (Chapter
                                 9):

                                    +o The user activates the OOKK
                                      PushButton.

                                    +o The user presses <<EEnntteerr>> or
                                      <<RReettuurrnn>> while the filename
                                      Text component has the
                                      keyboard focus.

                                    +o The user presses <<EEnntteerr>> or
                                      <<RReettuurrnn>> while the location
                                      cursor is on an item in the
                                      file List.

                                    +o The user double-clicks BBSSeelleecctt
                                      on an item in the file List.

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _r_e_s_u_l_t_s _i_n _t_h_e
                                 _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f _a
                                 _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.




        August 26, 1994                                         B-77







        OSF/Motif Style Guide


             _ _ 77_--1177::            The FileSelectionBox initiates a
                                 directory and file search when the
                                 FileSelectionBox is initialized,
                                 the user activates the FFiilltteerr
                                 PushButton, the user double-clicks
                                 BBSSeelleecctt or presses <<EEnntteerr>> or
                                 <<RReettuurrnn>> on an item in the
                                 directory List, or the user presses
                                 <<EEnntteerr>> or <<RReettuurrnn>> while the
                                 directory mask Text edit area has
                                 the keyboard focus (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f _a _d_i_r_e_c_t_o_r_y
                                 _a_n_d _f_i_l_e _s_e_a_r_c_h _i_n _a
                                 _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x.



        B.7.4  LLiisstt



             YYeess NN//AA NNoo

             _ _ 77_--1188::            Within a List component, your
                                 application uses <<||^^>> to move the
                                 location cursor to the previous
                                 item in the List and <<||vv>> to move
                                 the location cursor to the next
                                 item in the List.  In a scrollable
                                 List, <<<<-->> scrolls the List one
                                 character to the left, and <<-->>>>
                                 scrolls the List one character to
                                 the right (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _m_o_v_i_n_g _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r
                                 _w_i_t_h_i_n _a _L_i_s_t _c_o_m_p_o_n_e_n_t.

             _ _ 77_--1199::            Within a List component, your
                                 application uses <<CCttrrll>> <<BBeeggiinn>> to
                                 move the location cursor to the
                                 first item in the List and <<CCttrrll>>
                                 <<EEnndd>> to move the location cursor
                                 to the last item in the List.  In a
                                 scrollable List, <<BBeeggiinn>> moves the
                                 horizontal scroll region so that
                                 the leftmost edge of the List is
                                 visible, and <<EEnndd>> moves the
                                 horizontal scroll region so that




        B-78                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 the rightmost edge of the List is
                                 visible (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _o_f_f_e_r _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _m_o_v_i_n_g _t_h_e _l_o_c_a_t_i_o_n
                                 _c_u_r_s_o_r _q_u_i_c_k_l_y _t_h_r_o_u_g_h _a _L_i_s_t.

             _ _ 77_--2200::            Within a scrollable List, <<PPaaggeeUUpp>>
                                 moves the location cursor to the
                                 item one page up in the List, and
                                 <<PPaaggeeDDoowwnn>> moves the location
                                 cursor to the item one page down in
                                 the List.  In a scrollable list,
                                 <<PPaaggeeLLeefftt>> or <<CCttrrll>> <<PPaaggeeUUpp>>
                                 scrolls the List one page to the
                                 left, and <<PPaaggeeRRiigghhtt>> or <<CCttrrll>>
                                 <<PPaaggeeDDoowwnn>> scrolls the List one
                                 page to the right (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _o_f_f_e_r _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _p_a_g_i_n_g _t_h_r_o_u_g_h _a
                                 _L_i_s_t.

             _ _ 77_--2211::            Within a List component, your
                                 application uses BBSSeelleecctt CClliicckk 22 to
                                 select the item that was double-
                                 clicked and then initiate any
                                 default action for the window
                                 (Chapter 9).

                                 _D_o_u_b_l_e-_c_l_i_c_k_i_n_g _u_s_i_n_g BBSSeelleecctt
                                 _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y _o_f
                                 _a_c_t_i_v_a_t_i_n_g _t_h_e _d_e_f_a_u_l_t _a_c_t_i_o_n _f_o_r _a
                                 _L_i_s_t.



        B.7.5  OOppttiioonnBBuuttttoonn



             YYeess NN//AA NNoo

             _ _ 77_--2222::            If your application uses
                                 OptionButtons, the Label for the
                                 button is the last selection made
                                 from the OptionButton (Chapter 9).

                                 _A_n _O_p_t_i_o_n_B_u_t_t_o_n _i_s _u_s_e_d _t_o _p_o_s_t _a_n
                                 _O_p_t_i_o_n _M_e_n_u _w_h_i_c_h _a_l_l_o_w_s _t_h_e _u_s_e_r
                                 _t_o _s_e_l_e_c_t _f_r_o_m _a _n_u_m_b_e_r _o_f _c_h_o_i_c_e_s.




        August 26, 1994                                         B-79







        OSF/Motif Style Guide


                                 _T_h_e _L_a_b_e_l _o_f _a_n _O_p_t_i_o_n_B_u_t_t_o_n _n_e_e_d_s
                                 _t_o _d_i_s_p_l_a_y _t_h_e _m_o_s_t _r_e_c_e_n_t
                                 _s_e_l_e_c_t_i_o_n _f_r_o_m _t_h_e _a_s_s_o_c_i_a_t_e_d
                                 _O_p_t_i_o_n _M_e_n_u.

             _ _ 77_--2233::            When the user presses BBSSeelleecctt in an
                                 OptionButton, the associated Option
                                 Menu is posted (Chapter 9).

                                 BBSSeelleecctt PPrreessss _i_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _o_f _a_c_t_i_v_a_t_i_n_g _a_n _O_p_t_i_o_n_B_u_t_t_o_n.

             _ _ 77_--2244::            When the user releases BBSSeelleecctt
                                 within the same OptionButton that
                                 the press occurred in, the
                                 associated Option Menu is posted if
                                 it was not posted at the time of
                                 the press.  When the user releases
                                 BBSSeelleecctt outside of the
                                 OptionButton, the associated Option
                                 Menu is unposted (Chapter 9).

                                 BBSSeelleecctt RReelleeaassee _p_o_s_t_s _o_r _u_n_p_o_s_t_s _a_n
                                 _O_p_t_i_o_n _M_e_n_u, _d_e_p_e_n_d_i_n_g _o_n _w_h_e_t_h_e_r
                                 _t_h_e _r_e_l_e_a_s_e _o_c_c_u_r_s _i_n_s_i_d_e _t_h_e
                                 _O_p_t_i_o_n_B_u_t_t_o_n _a_n_d _w_h_e_t_h_e_r _t_h_e _O_p_t_i_o_n
                                 _M_e_n_u _w_a_s _p_o_s_t_e_d _a_t _t_h_e _t_i_m_e _o_f _t_h_e
                                 _p_r_e_s_s.

             _ _ 77_--2255::            When the user presses <<SSeelleecctt>> or
                                 <<SSppaaccee>> in an OptionButton, the
                                 associated Option Menu is posted
                                 (Chapter 9).

                                 <<SSeelleecctt>> _o_r <<SSppaaccee>> _p_o_s_t_s _a_n _O_p_t_i_o_n
                                 _M_e_n_u _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.



        B.7.6  PPaanneeddWWiinnddooww



             YYeess NN//AA NNoo

             _ _ 77_--2266::            If your application uses
                                 PanedWindows, they are composed of
                                 any number of groups of components,
                                 called Panes, each separated by a
                                 Sash and a Separator.  The Panes,
                                 Sashes, and Separators are grouped




        B-80                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 linearly, either horizontally or
                                 vertically.  A Sash is the handle
                                 on a Separator between two Panes
                                 that is used to adjust the position
                                 of the Separator (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e _o_f _a
                                 _P_a_n_e_d_W_i_n_d_o_w _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.7.7  PPaanneell



             YYeess NN//AA NNoo

             _ _ 77_--2277::            The <<||vv>>, <<<<-->>, <<-->>>>, and <<||^^>>
                                 directional keys navigate among
                                 components in a Panel (Chapter 9).

                                 _A _P_a_n_e_l _g_r_o_u_p _o_r_g_a_n_i_z_e_s _a
                                 _c_o_l_l_e_c_t_i_o_n _o_f _b_a_s_i_c _c_o_n_t_r_o_l_s _i_n _a
                                 _h_o_r_i_z_o_n_t_a_l, _v_e_r_t_i_c_a_l, _o_r _2-
                                 _d_i_m_e_n_s_i_o_n_a_l _l_a_y_o_u_t.  _T_h_e
                                 _d_i_r_e_c_t_i_o_n_a_l _k_e_y_s _a_r_e _u_s_e_d _t_o
                                 _n_a_v_i_g_a_t_e _a_m_o_n_g _t_h_e _c_o_n_t_r_o_l_s.



        B.7.8  PPuusshhBBuuttttoonn



             YYeess NN//AA NNoo

             _ _ 77_--2288::            When the user presses BBSSeelleecctt in a
                                 PushButton, the PushButton is
                                 armed.  When the user releases
                                 BBSSeelleecctt in the same PushButton that
                                 the press occurred in, the
                                 PushButton is disarmed and
                                 activated.  When the user releases
                                 BBSSeelleecctt outside the PushButton, the
                                 PushButton is disarmed but not
                                 activated (Chapter 9).

                                 BBSSeelleecctt _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s
                                 _o_f _a_c_t_i_v_a_t_i_n_g _a _P_u_s_h_B_u_t_t_o_n.





        August 26, 1994                                         B-81







        OSF/Motif Style Guide


             _ _ 77_--2299::            When the user presses <<EEnntteerr>> or
                                 <<RReettuurrnn>> in a PushButton that is in
                                 a window with a default action, the
                                 PushButton is activated.  When the
                                 user presses <<EEnntteerr>> or <<RReettuurrnn>> in
                                 a PushButton in a Menu, the
                                 PushButton is activated and the
                                 Menu is unposted (Chapter 9).

                                 <<EEnntteerr>> _a_n_d <<RReettuurrnn>> _a_c_t_i_v_a_t_e _a
                                 _D_i_a_l_o_g_B_o_x _o_r _a _P_u_s_h_B_u_t_t_o_n _i_n _a
                                 _M_e_n_u.

             _ _ 77_--3300::            When the user presses <<SSeelleecctt>> or
                                 <<SSppaaccee>> in a PushButton, the
                                 PushButton is activated.  If the
                                 PushButton is in a Menu, the Menu
                                 is unposted (Chapter 9).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _a_c_t_i_v_a_t_e _a
                                 _P_u_s_h_B_u_t_t_o_n.



        _B._7._9  RRaaddiiooBBuuttttoonn



             YYeess NN//AA NNoo

             _ _ 77_--3311::            If your application uses
                                 RadioButtons, each button
                                 graphically indicates its state
                                 (Chapter 9).

                                 _R_a_d_i_o_B_u_t_t_o_n_s _a_r_e _u_s_e_d _t_o _r_e_p_r_e_s_e_n_t
                                 _a _p_a_n_e_l _o_f _m_u_t_u_a_l_l_y _e_x_c_l_u_s_i_v_e
                                 _s_e_l_e_c_t_i_o_n_s.  _T_h_e _u_s_e_r _n_e_e_d_s _t_o _k_n_o_w
                                 _w_h_i_c_h _b_u_t_t_o_n _i_n _t_h_e _p_a_n_e_l _i_s _s_e_t.

             _ _ 77_--3322::            When the user presses BBSSeelleecctt in a
                                 RadioButton, the RadioButton is
                                 armed.  If the RadioButton was
                                 previously unset, it is shown in
                                 the set state (Chapter 9).

                                 BBSSeelleecctt PPrreessss _a_r_m_s _a _R_a_d_i_o_B_u_t_t_o_n
                                 _a_n_d _s_h_o_w_s _t_h_e _r_e_s_u_l_t _o_f _a_c_t_i_v_a_t_i_n_g
                                 _i_t _b_y _r_e_l_e_a_s_i_n_g BBSSeelleecctt.






        B-82                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ 77_--3333::            When the user releases BBSSeelleecctt in
                                 the same RadioButton that the press
                                 occurred in and the RadioButton was
                                 previously unset, it is set, and
                                 any other RadioButton in the same
                                 Panel that was previously set is
                                 unset.  The RadioButton is
                                 disarmed, and, if the RadioButton
                                 is in a Menu, the Menu is unposted
                                 (Chapter 9).

                                 BBSSeelleecctt RReelleeaassee _a_c_t_i_v_a_t_e_s _a
                                 _R_a_d_i_o_B_u_t_t_o_n.

             _ _ 77_--3344::            When the user presses <<EEnntteerr>> or
                                 <<RReettuurrnn>> in a RadioButton, if the
                                 RadioButton is in a window with a
                                 default action, the default action
                                 is activated.  If the RadioButton
                                 is in a Menu (Chapter 9):

                                    +o If the RadioButton was
                                      previously unset, it is set,
                                      and any other RadioButton in
                                      the same Panel that was
                                      previously set is unset.

                                    +o The RadioButton is disarmed,
                                      and the Menu is unposted.

                                 <<EEnntteerr>> _a_n_d <<RReettuurrnn>> _p_e_r_f_o_r_m _t_h_e
                                 _d_e_f_a_u_l_t _a_c_t_i_o_n _o_f _a _w_i_n_d_o_w _o_r
                                 _a_c_t_i_v_a_t_e _a _R_a_d_i_o_B_u_t_t_o_n _i_n _a _M_e_n_u.

             _ _ 77_--3355::            When the user presses <<SSeelleecctt>> or
                                 <<SSppaaccee>> in a RadioButton, if the
                                 RadioButton was previously unset,
                                 it is set, and any other
                                 RadioButton in the same Panel that
                                 was previously set is unset.  The
                                 RadioButton is disarmed, and, if
                                 the RadioButton is in a Menu, the
                                 Menu is unposted (Chapter 9).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _a_c_t_i_v_a_t_e _a
                                 _R_a_d_i_o_B_u_t_t_o_n.









        August 26, 1994                                         B-83







        OSF/Motif Style Guide


        B.7.10  SSaasshh



             YYeess NN//AA NNoo

             _ _ 77_--3366::            Within a PanedWindow, your
                                 application uses a Sash to adjust
                                 the position of a Separator, which
                                 adjusts the sizes of the Panes next
                                 to it.  As a Sash is moved, the
                                 Pane in the direction of the Sash
                                 movement gets smaller and the
                                 opposite Pane gets larger by an
                                 equal amount (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _r_e_s_u_l_t_s _i_n _t_h_e
                                 _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f _a _P_a_n_e_d_W_i_n_d_o_w
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--3377::            Within a Sash, BBSSeelleecctt MMoottiioonn or
                                 BBTTrraannssffeerr MMoottiioonn causes the Sash to
                                 track the movement of the pointer.
                                 In a vertically oriented
                                 PanedWindow, the Sash tracks the
                                 vertical position of the pointer.
                                 In a horizontally oriented
                                 PanedWindow, the Pane tracks the
                                 horizontal position of the pointer
                                 (Chapter 9).

                                 BBSSeelleecctt, _t_h_e _f_i_r_s_t _m_o_u_s_e _b_u_t_t_o_n,
                                 _a_n_d BBTTrraannssffeerr, _t_h_e _s_e_c_o_n_d _m_o_u_s_e
                                 _b_u_t_t_o_n, _p_r_o_v_i_d_e _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s
                                 _o_f _m_o_v_i_n_g _a _S_a_s_h _i_n _a _P_a_n_e_d_W_i_n_d_o_w
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--3388::            <<||^^>> and <<||vv>> (for a Sash that can
                                 move vertically) and <<<<-->> and <<-->>>>
                                 (for a Sash that can move
                                 horizontally) move the Sash one
                                 increment in the specified
                                 direction (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _o_f_f_e_r _a _u_n_i_f_o_r_m
                                 _m_e_a_n_s _o_f _m_o_v_i_n_g _a _S_a_s_h _i_n _a
                                 _P_a_n_e_d_W_i_n_d_o_w.

             _ _ 77_--3399::            <<CCttrrll>> <<||^^>> and <<CCttrrll>> <<||vv>> (for a
                                 Sash that can move vertically) and
                                 <<CCttrrll>> <<<<-->> and <<CCttrrll>> <<-->>>> (for a




        B-84                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 Sash that can move horizontally)
                                 move the Sash one large increment
                                 in the specified direction (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t _w_a_y
                                 _o_f _m_o_v_i_n_g _a _S_a_s_h _q_u_i_c_k_l_y _i_n _a
                                 _P_a_n_e_d_W_i_n_d_o_w.



        B.7.11  SSccaallee



             YYeess NN//AA NNoo

             _ _ 77_--4400::            If a Scale has arrow buttons, your
                                 application uses BBSSeelleecctt PPrreessss in
                                 an arrow button to move the slider
                                 one increment in the direction of
                                 the side of the slider on which the
                                 button was pressed and autorepeats
                                 until the button is released
                                 (Chapter 9).

                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a _S_c_a_l_e
                                 _c_o_m_p_o_n_e_n_t _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--4411::            In a Scale trough, if the Scale has
                                 tick marks, BBSSeelleecctt PPrreessss moves the
                                 slider one major tick mark in the
                                 direction of the side of the slider
                                 on which the trough was pressed and
                                 autorepeats until the button is
                                 released.  If the Scale does not
                                 have tick marks, BBSSeelleecctt PPrreessss in
                                 the trough moves the slider one
                                 large increment in the direction of
                                 the side of the slider on which the
                                 trough was pressed and autorepeats
                                 until the button is released
                                 (Chapter 9).

                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a _S_c_a_l_e
                                 _c_o_m_p_o_n_e_n_t _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--4422::            Within a Scale slider, BBSSeelleecctt
                                 MMoottiioonn causes the slider to track




        August 26, 1994                                         B-85







        OSF/Motif Style Guide


                                 the position of the pointer.  In a
                                 vertical Scale, the slider tracks
                                 the vertical position of the
                                 pointer.  In a horizontal Scale,
                                 the slider tracks the horizontal
                                 position of the pointer (Chapter
                                 9).

                                 BBSSeelleecctt MMoottiioonn _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _a_d_j_u_s_t _a _S_c_a_l_e _c_o_m_p_o_n_e_n_t
                                 _p_r_e_c_i_s_e_l_y _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--4433::            Within a Scale slider or trough,
                                 BBTTrraannssffeerr MMoottiioonn positions the
                                 slider to the point of the button
                                 press and then causes the slider to
                                 track the position of the pointer.
                                 In a vertical Scale, the slider
                                 tracks the vertical position of the
                                 pointer.  In a horizontal Scale,
                                 the slider tracks the horizontal
                                 position of the pointer (Chapter
                                 9).

                                 BBTTrraannssffeerr MMoottiioonn _p_r_o_v_i_d_e_s _a_n_o_t_h_e_r
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _a_d_j_u_s_t _a _S_c_a_l_e
                                 _c_o_m_p_o_n_e_n_t _p_r_e_c_i_s_e_l_y _u_s_i_n_g _t_h_e
                                 _m_o_u_s_e.

             _ _ 77_--4444::            If a mouse-based sliding action is
                                 in progress, <<CCaanncceell>> cancels the
                                 sliding action and returns the
                                 slider to its position prior to the
                                 start of the sliding operation
                                 (Chapter 9).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _f_o_r _t_h_e _u_s_e_r _t_o _c_a_n_c_e_l _a _m_o_u_s_e-
                                 _b_a_s_e_d _s_l_i_d_i_n_g _a_c_t_i_o_n.

             _ _ 77_--4455::            In a vertical Scale, <<||^^>> and <<||vv>>
                                 move the slider one increment in
                                 the specified direction.  In a
                                 horizontal Scale, <<<<-->> and <<-->>>>
                                 move the slider one increment in
                                 the specified direction (Chapter
                                 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a _u_n_i_f_o_r_m
                                 _w_a_y _o_f _a_d_j_u_s_t_i_n_g _t_h_e _s_l_i_d_e_r _i_n _a
                                 _S_c_a_l_e _c_o_m_p_o_n_e_n_t _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.




        B-86                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


             _ _ 77_--4466::            In a vertical Scale, <<CCttrrll>> <<||^^>> and
                                 <<CCttrrll>> <<||vv>> move the slider one
                                 large increment in the specified
                                 direction.  In a horizontal Scale,
                                 <<CCttrrll>> <<<<-->> and <<CCttrrll>> <<-->>>> move
                                 the slider one large increment in
                                 the specified direction (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t _w_a_y
                                 _o_f _a_d_j_u_s_t_i_n_g _t_h_e _s_l_i_d_e_r _i_n _a _S_c_a_l_e
                                 _c_o_m_p_o_n_e_n_t _q_u_i_c_k_l_y _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 77_--4477::            Your application uses <<BBeeggiinn>> or
                                 <<CCttrrll>> <<BBeeggiinn>> to move the slider
                                 to its minimum value.  <<EEnndd>> or
                                 <<CCttrrll>> <<EEnndd>> moves the slider to
                                 its maximum value (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _s_e_t_t_i_n_g _a _S_c_a_l_e _t_o
                                 _i_t_s _m_i_n_i_m_u_m _o_r _m_a_x_i_m_u_m _v_a_l_u_e _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.



        B.7.12  SSccrroollllBBaarr



             YYeess NN//AA NNoo

             _ _ 77_--4488::            Within a ScrollBar, your
                                 application uses BBSSeelleecctt PPrreessss in
                                 an arrow button to move the slider
                                 one increment in the direction of
                                 the side of the slider on which the
                                 button was pressed and autorepeats
                                 until the button is released
                                 (Chapter 9).

                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a _S_c_r_o_l_l_B_a_r
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--4499::            In the trough of a ScrollBar,
                                 BBSSeelleecctt PPrreessss moves the slider one
                                 page in the direction of the side
                                 of the slider on which the trough
                                 was pressed and autorepeats until




        August 26, 1994                                         B-87







        OSF/Motif Style Guide


                                 the button is released (Chapter 9).

                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a _S_c_r_o_l_l_B_a_r
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--5500::            Within a ScrollBar slider, BBSSeelleecctt
                                 MMoottiioonn causes the slider to track
                                 the position of the pointer.  In a
                                 vertical ScrollBar, the slider
                                 tracks the vertical position of the
                                 pointer.  In a horizontal
                                 ScrollBar, the slider tracks the
                                 horizontal position of the pointer
                                 (Chapter 9).

                                 BBSSeelleecctt MMoottiioonn _o_f_f_e_r_s _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _a_d_j_u_s_t _a _S_c_r_o_l_l_B_a_r _p_r_e_c_i_s_e_l_y
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 77_--5511::            Within a ScrollBar slider or
                                 trough, BBTTrraannssffeerr MMoottiioonn positions
                                 the slider to the point of the
                                 button press and then causes the
                                 slider to track the position of the
                                 pointer.  In a vertical ScrollBar,
                                 the slider tracks the vertical
                                 position of the pointer.  In a
                                 horizontal ScrollBar, the slider
                                 tracks the horizontal position of
                                 the pointer (Chapter 9).

                                 BBTTrraannssffeerr MMoottiioonn _o_f_f_e_r_s _a_n_o_t_h_e_r
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _a_d_j_u_s_t _a
                                 _S_c_r_o_l_l_B_a_r _p_r_e_c_i_s_e_l_y _u_s_i_n_g _t_h_e
                                 _m_o_u_s_e.

             _ _ 77_--5522::            If a mouse-based scrolling action
                                 is in progress, <<CCaanncceell>> cancels
                                 the scrolling action and returns
                                 the slider to its position prior to
                                 the start of the scrolling
                                 operation (Chapter 9).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _f_o_r _t_h_e _u_s_e_r _t_o _c_a_n_c_e_l _a _m_o_u_s_e-
                                 _b_a_s_e_d _s_c_r_o_l_l_i_n_g _a_c_t_i_o_n.

             _ _ 77_--5533::            In a vertical ScrollBar, <<||^^>> and
                                 <<||vv>> move the slider one increment
                                 in the specified direction.  In a




        B-88                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 horizontal ScrollBar, <<<<-->> and <<-->>>>
                                 move the slider one increment in
                                 the specified direction (Chapter
                                 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a _u_n_i_f_o_r_m
                                 _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a _S_c_r_o_l_l_B_a_r
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 77_--5544::            In a vertical ScrollBar, <<CCttrrll>> <<||^^>>
                                 and <<CCttrrll>> <<||vv>> move the slider one
                                 large increment in the specified
                                 direction.  <<CCttrrll>> <<<<-->> and <<CCttrrll>>
                                 <<-->>>> move the slider one large
                                 increment in the specified
                                 direction (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t _w_a_y
                                 _o_f _a_d_j_u_s_t_i_n_g _a _S_c_r_o_l_l_B_a_r _q_u_i_c_k_l_y
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 77_--5555::            Your application uses <<PPaaggeeUUpp>> and
                                 <<PPaaggeeDDoowwnn>> to move the slider in a
                                 vertical ScrollBar one page in the
                                 specified direction.  <<PPaaggeeLLeefftt>> or
                                 <<CCttrrll>> <<PPaaggeeUUpp>> and <<PPaaggeeRRiigghhtt>> or
                                 <<CCttrrll>> <<PPaaggeeDDoowwnn>> move the slider
                                 in a horizontal ScrollBar one page
                                 in the specified direction (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _a_l_l_o_w _f_o_r _t_h_e _c_o_n_v_e_n_i_e_n_t
                                 _m_o_v_e_m_e_n_t _o_f _t_h_e _s_l_i_d_e_r _i_n _a
                                 _S_c_r_o_l_l_B_a_r _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 77_--5566::            Your application uses <<BBeeggiinn>> or
                                 <<CCttrrll>> <<BBeeggiinn>> to move the slider
                                 to the minimum value.  <<EEnndd>> or
                                 <<CCttrrll>> <<EEnndd>> moves the slider to
                                 the maximum value (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _o_f_f_e_r _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _s_e_t_t_i_n_g _a _S_c_r_o_l_l_B_a_r
                                 _t_o _i_t_s _m_i_n_i_m_u_m _o_r _m_a_x_i_m_u_m _v_a_l_u_e
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.










        August 26, 1994                                         B-89







        OSF/Motif Style Guide


        B.7.13  SSeelleeccttiioonnBBooxx



             YYeess NN//AA NNoo

             _ _ 77_--5577::            If your application uses a
                                 SelectionBox, it is composed of at
                                 least a Text component for the
                                 selected alternative and a List
                                 component above the Text component
                                 for presenting alternatives.  The
                                 List uses either the single
                                 selection or browse selection
                                 model.  Selecting an element from
                                 the List places the selected
                                 element in the Text component
                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e _a_n_d _o_p_e_r_a_t_i_o_n
                                 _o_f _a _S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 77_--5588::            The List navigation actions <<||^^>>,
                                 <<||vv>>, <<CCttrrll>> <<BBeeggiinn>>, and <<CCttrrll>>
                                 <<EEnndd>> are available from the Text
                                 component for moving the cursored
                                 element within the List and thus
                                 changing the contents of the Text
                                 (Chapter 9).

                                 _T_h_e_s_e _a_c_t_i_o_n_s _p_r_o_v_i_d_e _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _c_h_o_o_s_e _a_n _e_l_e_m_e_n_t _f_r_o_m _t_h_e
                                 _L_i_s_t _w_h_i_l_e _f_o_c_u_s _r_e_m_a_i_n_s _i_n _t_h_e
                                 _T_e_x_t _c_o_m_p_o_n_e_n_t.



        B.7.14  TTeexxtt



             YYeess NN//AA NNoo

             _ _ 77_--5599::            In a multiline Text component, <<||^^>>
                                 moves the location cursor up one
                                 line, and <<||vv>> moves the location
                                 cursor down one line.  In a
                                 single-line Text component, <<||^^>>
                                 navigates upward to the previous




        B-90                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 component, and <<||vv>> navigates
                                 downward to the next component, if
                                 the Text component is designed to
                                 act like a basic control (Chapter
                                 9).

                                 _T_h_e _u_p _a_n_d _d_o_w_n _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e
                                 _a _u_n_i_f_o_r_m _m_e_a_n_s _o_f _n_a_v_i_g_a_t_i_o_n
                                 _w_i_t_h_i_n _T_e_x_t _c_o_m_p_o_n_e_n_t_s.

             _ _ 77_--6600::            <<<<-->> moves the location cursor left
                                 one character, and <<-->>>> moves the
                                 location cursor right one character
                                 (Chapter 9).

                                 _T_h_e _l_e_f_t _a_n_d _r_i_g_h_t _a_r_r_o_w _k_e_y_s _o_f_f_e_r
                                 _a _c_o_n_s_i_s_t_e_n_t _w_a_y _o_f _n_a_v_i_g_a_t_i_n_g
                                 _w_i_t_h_i_n _T_e_x_t _c_o_m_p_o_n_e_n_t_s.

             _ _ 77_--6611::            In a Text component used generally
                                 to hold multiple words, <<CCttrrll>> <<-->>>>
                                 moves the location cursor to the
                                 right by a word, and <<CCttrrll>> <<<<-->>
                                 moves the location cursor to the
                                 left by a word (Chapter 9).

                                 <<CCttrrll>> <<-->>>> _a_n_d <<CCttrrll>> <<<<-->> _p_r_o_v_i_d_e
                                 _a _u_n_i_f_o_r_m _w_a_y _o_f _n_a_v_i_g_a_t_i_n_g _b_y
                                 _w_o_r_d_s _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.  _M_o_v_i_n_g
                                 _r_i_g_h_t _b_y _a _w_o_r_d _m_e_a_n_s _t_h_a_t _t_h_e
                                 _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s _p_l_a_c_e_d _b_e_f_o_r_e
                                 _t_h_e _f_i_r_s_t _c_h_a_r_a_c_t_e_r _t_h_a_t _i_s _n_o_t _a
                                 _s_p_a_c_e, _t_a_b, _o_r _n_e_w_l_i_n_e _c_h_a_r_a_c_t_e_r
                                 _a_f_t_e_r _t_h_e _n_e_x_t _s_p_a_c_e, _t_a_b, _o_r
                                 _n_e_w_l_i_n_e.  _M_o_v_i_n_g _l_e_f_t _b_y _a _w_o_r_d
                                 _m_e_a_n_s _t_h_a_t _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s
                                 _p_l_a_c_e_d _a_f_t_e_r _t_h_e _f_i_r_s_t _s_p_a_c_e, _t_a_b,
                                 _o_r _n_e_w_l_i_n_e _c_h_a_r_a_c_t_e_r _p_r_e_c_e_d_i_n_g _t_h_e
                                 _f_i_r_s_t _p_r_e_v_i_o_u_s _c_h_a_r_a_c_t_e_r _t_h_a_t _i_s
                                 _n_o_t _a _s_p_a_c_e, _t_a_b, _o_r _n_e_w_l_i_n_e.

             _ _ 77_--6622::            In a Text component used generally
                                 to hold multiple words, <<BBeeggiinn>>
                                 moves the location cursor to the
                                 beginning of the line, and <<EEnndd>>
                                 moves the location cursor to the
                                 end of the line (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _a_l_l_o_w _t_h_e _u_s_e_r _t_o _m_o_v_e
                                 _q_u_i_c_k_l_y _t_o _t_h_e _b_e_g_i_n_n_i_n_g _o_r _e_n_d _o_f
                                 _a _l_i_n_e _o_f _t_e_x_t _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.




        August 26, 1994                                         B-91







        OSF/Motif Style Guide


             _ _ 77_--6633::            In a multiline Text component,
                                 <<CCttrrll>> <<BBeeggiinn>> moves the location
                                 cursor to the beginning of the
                                 file, and <<CCttrrll>> <<EEnndd>> moves the
                                 location cursor to the end of the
                                 file (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_e_r_m_i_t _t_h_e _u_s_e_r _t_o _m_o_v_e
                                 _q_u_i_c_k_l_y _t_o _t_h_e _b_e_g_i_n_n_i_n_g _o_r _e_n_d _o_f
                                 _a _f_i_l_e _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 77_--6644::            Your application uses <<SSppaaccee>> or
                                 <<SShhiifftt>> <<SSppaaccee>> to insert a space
                                 in a Text component.  Modifying
                                 these with <<CCttrrll>> invokes the
                                 normal selection function (Chapter
                                 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_a_t
                                 _s_e_l_e_c_t_i_o_n _i_s _a_v_a_i_l_a_b_l_e _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 77_--6655::            <<RReettuurrnn>> in a multiline Text
                                 component inserts a carriage
                                 return.  <<EEnntteerr>> or <<CCttrrll>> <<RReettuurrnn>>
                                 invokes the default action (Chapter
                                 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s _t_h_a_t
                                 _a_c_t_i_v_a_t_i_o_n _i_s _a_v_a_i_l_a_b_l_e _f_r_o_m _t_h_e
                                 _k_e_y_b_o_a_r_d _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 77_--6666::            In a multiline Text component,
                                 <<TTaabb>> is used for tabbing.  In a
                                 single-line Text component, <<TTaabb>>
                                 is used either for tabbing or to
                                 move to the next field (Chapter 9).

                                 <<TTaabb>> _i_s _u_s_e_d _f_o_r _t_a_b_b_i_n_g _i_n
                                 _m_u_l_t_i_l_i_n_e _T_e_x_t.

             _ _ 77_--6677::            If a Text component supports
                                 replace mode, <<IInnsseerrtt>> toggles
                                 between insert mode and replace
                                 mode.

                                 By default, the component starts in
                                 insert mode, where the location
                                 cursor is between two characters.
                                 In insert mode, typing a character
                                 inserts the character at the




        B-92                                         August 26, 1994







                         OSF/Motif Level One Certification Checklist


                                 position of the location cursor.

                                 In replace mode, the location
                                 cursor is on a character.  Typing a
                                 character replaces the current
                                 character with that newly entered
                                 character and moves the location
                                 cursor to the next character,
                                 selecting it (Chapter 9).

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e _u_n_i_f_o_r_m
                                 _o_p_e_r_a_t_i_o_n _o_f _a _T_e_x_t _c_o_m_p_o_n_e_n_t _w_i_t_h
                                 _a _r_e_p_l_a_c_e _m_o_d_e.

             _ _ 77_--6688::            Your application uses BBSSeelleecctt CClliicckk
                                 22 to select text a word at a time
                                 (Chapter 9).

                                 _D_o_u_b_l_e _c_l_i_c_k_i_n_g _w_i_t_h _t_h_e _f_i_r_s_t
                                 _m_o_u_s_e _b_u_t_t_o_n _p_r_o_v_i_d_e_s _a _c_o_n_v_e_n_i_e_n_t
                                 _m_e_c_h_a_n_i_s_m _f_o_r _s_e_l_e_c_t_i_n_g _w_o_r_d_s _i_n _a
                                 _T_e_x_t _c_o_m_p_o_n_e_n_t.

































        August 26, 1994                                         B-93





 
