[ Previous | Next | Contents | Glossary | Home | Search ]
Motif and CDE 2.1 Style Guide Reference


Spring-Loaded (Control Type)

Reference

Description

A spring-loaded control is a kind of cascaded or pop-up control that is removed when the user makes a noncascading choice within the control.

A spring-loaded system consists of a base control and its spring-loaded descendants. It is one of the following:

  1. A pop-up control, with zero or more spring-loaded descendants (for example, a pop-up menu)

  2. A control that is not spring-loaded, but that contains only cascading choices (for example, a menu bar or menu cascade button) with zero or more spring-loaded descendants

  3. Some other control that is not spring-loaded (for example, a drop-down list) but that has one or more spring-loaded descendants

  4. When to Use

    Recommended
    Use a cascaded control to display choices that are less important than the controls that need to be displayed directly in a window.

    Recommended
    Use a pop-up control to enable the user to access choices related to elements, especially those that can be selected.

    Recommended
    Use a spring-loaded control when the user needs to make a choice from a cascaded control, and then continue the task represented in the originating window.

    Guidelines

    Required
    Display only a cascaded control as a result of a user action.

    Required
    When displaying a cascaded control, display its parent control as well.

    Recommended
    Cascaded menus and lists should be spring-loaded.

    Required
    A cascaded or pop-up control should not be constrained to its originating window, but participate in the stacking order with other windows, other cascaded and pop-up controls, and other elements stacked with them in the workspace.

    Required
    Always stack a cascaded or pop-up control above its originating window and above its parent control.

    Required
    When a spring-loaded control becomes displayed, stack it above all other controls.

    Recommended
    Stack a spring-loaded control only below other spring-loaded controls.

    Required
    When the user deactivates a spring-loaded system, remove all the spring-loaded controls in that system.

    Required
    When the user releases the SELECT or MENU buttons on a dialog or value choice in a spring-loaded control, activate or toggle the choice.

    Required
    When the user activates a dialog or action choice or toggles a value choice in a spring-loaded control, deactivate the associated spring-loaded system.

    Required
    When the user releases the SELECT or MENU button in the background or title of a spring-loaded control, either leave the control displayed or deactivate its associated spring-loaded system.

    Required
    When the user releases the SELECT or MENU button over an unavailable choice in a spring-loaded control, either leave the control displayed or deactivate its associated spring-loaded system.

    Required
    When the user releases the SELECT or MENU button outside of a spring-loaded system, deactivate it.

    Required
    When the user presses a mouse button outside a spring-loaded system, deactivate it and do one of the following:

    1. Allow the mouse press to pass to the element under the pointer and normally direct all subsequent device events (recommended).

    2. Discard all device events between the mouse press and the mouse release. These events should have no effect except to optionally raise and/or move focus to the window over which the mouse button was pressed.

    3. Required
      If displaying a spring-loaded control, bring focus to a control in its spring-loaded system.

      Required
      If an explicit focus policy is in use, deactivating a spring-loaded system should have one of the following effects on the focus:

      1. If the base control of the spring-loaded system consists solely of cascading choices, move focus, if possible, to the control in the originating window that last had focus before focus moved into the spring-loaded system.

      2. Move focus to the base control.

      3. If the focus was moved to a different window during deactivation, then give focus to the base control of that window, if possible.

      4. Required
        When focus is on a cascaded control and the user presses Cancel or Escape, remove the control.

        Recommended
        When focus is in a spring-loaded system and the user presses Cancel or Escape, deactivate the system.

        Required
        Place a spring-loaded control so that it fits entirely on the screen. If it is larger, in any dimension, than the screen, fit as much of it on the screen as possible.

        Required
        Do not place a cascaded spring-loaded control in such a way that it completely covers its associated cascading choice.

        Essential Related Topics

        For more information, see the Cascading (Choice Type), Choice, and Input Focus reference pages.

        Supplemental Related Topics

        For more information, see the Cancel (Action and Choice), Emphasis (Cue), Menu (Control), and Stacking Order reference pages.


        [ Previous | Next | Contents | Glossary | Home | Search ]