[Contents] [Index] [Next] [Previous]

TearOff Activation


Some Menus have TearOffButtons as their first elements. A TearOffButton is like a PushButton with the special interaction of converting a Menu into a DialogBox; that is, tearing off the Menu from its CascadeButton. TearOffButtons must follow the rules for the basic activation model described in Basic Activation. For example, pressing and releasing BSelect in a TearOffButton tears off the Menu and transforms it into a DialogBox.

TearOffButtons also have a second activation mechanism. Once a Menu with a TearOffButton is posted, pressing BTransfer in the TearOffButton must start a TearOff action. As long as BTransfer is held, a representation of the Menu must follow the movements of the pointer. Releasing BTransfer must end the TearOff action by unposting the Menu system, creating a new window at the current pointer location with the contents of the Menu, and give focus to the new window in explicit pointer mode. The contents of the new window should not include the TearOffButton.

Pulling down or popping up a Menu that is currently torn off should not affect the torn off Menu. If the same Menu is torn off again, using either basic activation or TearOff activation, the existing torn off window should be removed prior to the creation of the new window. A torn off Menu is closed by pressing while focus is in the window or by using the TearOff Menu's window Menu.