`Haynes
`
`USOO6232971B1
`(10) Patent No.:
`US 6,232,971 B1
`(45) Date of Patent:
`May 15, 2001
`
`(54) VARIABLE MODALITY CHILD WINDOWS
`
`(75) Inventor: Thomas Richard Haynes, Apex, NC
`(US)
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/159,411
`(22) Filed:
`Sep. 23, 1998
`(51) Int. Cl." .................................................... G06F 3/14
`(52) U.S. Cl. ............................................. so. 5
`(58) Field of Search ..................................... 345,340, 333,
`345/332,339, 343, 352
`s
`s
`s
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`is
`5,659,694 * 8/1997 Bibayan ...............................
`5,825.358
`10/1998 Silvent et al. ....
`... 345/340
`5,838,969 * 11/1998 Jacklin et al. ...
`... 395/680
`5,886,694 * 3/1999 Breinberg et al. ...
`... 345/340
`* cited by examiner
`
`Primary Examiner Raymond J. Bayerl
`ASSistant Examiner Tadesse Hailu
`(74) Attorney, Agent, or Firm John Bruce Schelkopf;
`Andrew Dillon
`
`ABSTRACT
`(57)
`A method and System for generating variable modality child
`windows. An application is executed utilizing a graphical
`user interface (GUI) which enables a parent window. One or
`more child windows may be available to the user during
`execution. The level of modality of the child window is
`determined during programming by the application devel
`oper. The operating System is modified to permit a variable
`level of modality during application execution. The devel
`oper selects variable modality for one or more of the child
`windows. When the child window is opened, the user is
`allowed to interact with the other windows based on the
`developers determination of level of modality. The variabil
`ity may be either application or System-wide. The user is
`thus permitted to interface with only some of the functions
`on the other windows on the desktop while the child window
`is open.
`
`18 Claims, 5 Drawing Sheets
`
`
`
`DESKTOP
`
`Inactive Application
`APPLICATION (PARENT WINDOW)
`
`Tutorial
`About
`App.
`
`Apple Inc.
`Exhibit 1006
`Page 001
`
`
`
`U.S. Patent
`
`May 15, 2001
`
`Sheet 1 of 5
`
`US 6,232,971 B1
`
`8 |9 |
`
`LNENW/W}|E|d
`
`(XSIC] QHVH)
`
`ÅHOWNE W
`
`1uÞ(-101AD I 6,5
`
`HOSSEOOHd
`
`Z |
`
`
`
`
`
`Apple Inc.
`Exhibit 1006
`Page 002
`
`
`
`US. Patent
`
`May 15, 2001
`
`Sheet 2 0f 5
`
`US 6,232,971 B1
`
`“CREE
`
`$642.32
`
`
`
`
`
`
`
`#2223000
`
`EonBeccam_ooHSEE“.:3532»
`
`omen—mmI
`
`wmoI
`
`'ooo
`oI.”
`0..
`'oo%Avfokfiana.
`
`if.
`
`
`
`#33394oogfiuofum6M
`
`
`
`”MannHon—
`
`spam.0ES.HE
`
`.va“vacuum23.
`
`thnbNHAims/x
`
`.980oo<
`
`.3-5
`
`
`
`8o—.2500use”.
`
`
`
`Eo—Sfifigfiooon>5moam:a@23889:3Moonagamuomt6:5:moacummwoufi5
`
`
`
`not“:£5.NmflJ=5<18%mm?50355no50%3532“mghe88mHm?»«mfi
`
`
`
`Sch@2595:080302505Howmorguou
`
`
`
`wotunan“:E.89.3£8328.33
`
`Apple Inc.
`Exhibit 1006
`
`Page 003
`
`Apple Inc.
`Exhibit 1006
`Page 003
`
`
`
`U.S. Patent
`
`May 15, 2001
`
`Sheet 3 of 5
`
`US 6,232,971 B1
`
`
`
`d01XSBC1
`
`
`
`NAOONINA OTIHO
`
`Apple Inc.
`Exhibit 1006
`Page 004
`
`
`
`U.S. Patent
`
`May 15, 2001
`
`Sheet 4 of 5
`
`US 6,232,971 B1
`
`O Begin ) rs
`
`
`
`
`
`User starts an
`application; parent
`Window appears
`
`User takes action
`that causes dialog
`box to appear
`
`52
`
`54
`
`
`
`56
`
`User tries
`to acCeSS parent
`window 2
`
`Dialog box
`Completely
`modal?
`
`Dialog box
`completely
`non-modal?
`
`
`
`Surface parent window;
`take action on window
`element
`
`Dialog box is semi-modal;
`detect the main window
`element the user is trying
`to interact with
`
`Window
`element accessible to
`semi-modal dialog 2
`N1
`
`
`
`67
`
`Tig. 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Apple Inc.
`Exhibit 1006
`Page 005
`
`
`
`U.S. Patent
`
`May 15, 2001
`
`Sheet 5 of 5
`
`US 6,232,971 B1
`
`
`
`d0 1XISEICI
`
`
`
`
`
`(MOCINIM LNEHVd) NOIIVOIT|dd|W
`
`ç (6,5
`
`
`
`NAOONINA CITIHO
`
`Apple Inc.
`Exhibit 1006
`Page 006
`
`
`
`1
`VARIABLE MODALITY CHILD WINDOWS
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention generally relates to an improved
`data processing System, and more particular to an improved
`graphical user interface (GUI) for a data processing System.
`Still more particular, the present invention relates to an
`improved GUI for a data processing system where the GUI
`includes a parent and child windows having variable levels
`of modality.
`2. Description of Related Art
`The basic structure of a conventional computer system 10
`is shown in FIG. 1. Computer system 10 has at least one
`central processing unit (CPU) or processor 12 which is
`connected to Several peripheral devices, including input/
`output devices 14 (Such as a display monitor, keyboard, and
`graphical pointing device) for the user interface, a perma
`nent memory device 16 (Such as a hard disk) for Storing the
`computer's operating System and user programs, and a
`temporary memory device 18 (Such as random access
`memory or RAM) that is utilized by processor 12 to carry
`out program instructions. Processor 12 communicates with
`the peripheral devices by various means, including a bus 20
`or a direct channel 22 (more than one bus may be provided
`utilizing a bus bridge).
`Computer System 10 may have many additional compo
`nents which are not shown Such as Serial, parallel, and USB
`ports for connection to, e.g., modems or printers. Those
`skilled in the art will further appreciate that there are other
`components that might be used in conjunction with those
`shown in the block diagram of FIG. 1; for example, a display
`adapter connected to processor 12 might be used to control
`a Video display monitor, and a memory controller may be
`used as an interface between temporary memory device 18
`and processor 12. Computer System 10 also includes firm
`ware 24 whose primary purpose is to Seek out and load an
`operating System from one of the peripherals (usually per
`manent memory device 16) whenever the computer is first
`turned on.
`With further reference to FIG. 2, conventional computer
`Systems often employ a graphical user interface (GUI) to
`present information to the user. The GUI is provided by
`Software that is loaded on the computer, Specifically, the
`computer's operating System acting in conjunction with
`application programs. Two well-known GUIs include OS/2
`(a trademark of International Business Machines Corp.) and
`Windows (a trademark of Microsoft Corp.).
`Generally Speaking, a typical GUI provides application
`windows of two varieties: a parent window and a child
`window (also known as a dialog box or secondary window).
`Typically, a parent window is opened when a user initiates
`execution of an application program. AS execution of the
`application program continues, the parent window opens
`various child windows which allow the user to access
`various functionalities in the application program. For
`example, a parent window may be opened when a user
`initiates execution of a word processing program. The parent
`window will, in turn, open a child window corresponding to
`each document that the user is editing or creating.
`In the example of FIG. 2, a generic application program
`entitled “Document Manager' is presented by the GUI as a
`primary application window (parent window) 26 on a dis
`play device 28 (i.e., video monitor). In this example, the
`application window has several child windows 30, 32 and 34
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,232,971 B1
`
`2
`which are usually enclosed by parent window 26. These
`child windows 30, 32 and 34 depict the contents of various
`files or documents that are handled by the program. A menu
`bar 36 with a standard set of commands, a toolbar 38, and
`a status bar 40 may also be provided as part of the GUI, to
`Simplify manipulation and control of the objects (e.g., text,
`charts and graphics) within the child windows. Windows can
`overlap one another, in multiple layers. A graphical pointer
`42 in the form of an arrowhead is controlled by a pointing
`device (mouse) in order to manipulate objects in the GUI.
`“Modality” refers to the level of interaction allowed when
`a child window has been opened. It is a description of the
`ability of the user to interface with other windows, besides
`the present child window, while the child window is dis
`played on the GUI.
`Application developers today working in common
`industry-standard operating System environments (such as
`Microsoft Windows, UNIX) can create child windows as
`“descendants” of parent application windows. The child
`windows can contain an attribute that allows them to either
`be non-modal or modal. Conventional operating Systems
`GUIs allow the application programmer to determine the
`modal state of the child windows. The child windows are
`either modal or non-modal (modeless). Modal refers to a
`type of movable window, fixed in size, that requires a user
`to enter information before continuing to work in the appli
`cation window from which it is displayed. For example,
`when a user invokes the Save command on a typical word
`processing Software, the user has to complete the Save
`request or exit the child window before he can interact with
`the text on the parent window. ModeleSS or non-modal is a
`type of movable window, fixed in size, that allows users to
`continue their dialog with the application without entering
`information in or closing the child window. In the above
`example, if the Save child window is modeleSS, the user is
`able to interact with the text on the parent window without
`first Saving the document or exiting from the child window.
`When an application displays a modal dialog box, the
`window that owns the dialog box is disabled, effectively
`Suspending the application. The user must complete inter
`action with the modal dialog before the application can
`continue.
`A modal dialog is usually created and activated through
`the Dialogbox function. This function creates a dialog
`window from a dialog template resource and displays the
`dialog as a modal dialog. The application that calls the
`Dialogbox function Supplies the address of a callback func
`tion; Dialogbox does not return until the dialog box is
`dismissed through a call to End Dialog made from this
`callback function (possibly in response to a user-interface
`event, such as a click on the OK button). Modal windows
`may be System modal or application modal. When a child
`window is System modal, the user may interact only with
`that child window; no other window on the desktop can be
`interacted with until the child window is closed. In contrast,
`if child window is application modal, the user may interact
`with other desktop windows which are not affiliated with the
`Same application parent window as the child window. Affili
`ated application windows will not respond to user
`interactions until the child window is closed. A child win
`dow which is non-model permits user interaction with all
`other windows on the desktop, even those affiliated with the
`application and regardless of whether or not the child
`window is open.
`Presenting a modeleSS dialog does not Suspend execution
`of the application by disabling the owner window of the
`
`Apple Inc.
`Exhibit 1006
`Page 007
`
`
`
`US 6,232,971 B1
`
`15
`
`25
`
`35
`
`40
`
`3
`dialog box. However, modeleSS dialogs usually remain on
`top of their owner window even when the owner window
`gains focus. ModeleSS dialogs represent an effective way of
`continuously displaying relevant information to the user.
`A modeleSS dialog is typically created through the Cre
`ateDialog function. AS there is no equivalent of the Dialog
`Box function for modeleSS dialog, applications are respon
`Sible for retrieving and dispatching messages for the
`modeleSS dialog. Most applications do this in their main
`message loop; however, to ensure that the dialog responds to
`keyboard events as expected and enables the user to move
`between controls using keyboard Shortcuts, the application
`must call the IsIDialogMessage function. A modeleSS dialog
`does not return a value to its owner. However, the modeleSS
`dialog and it owner can communicate using SendMessage
`calls.
`FIG.3 depicts a display device 70 (i.e., video monitor) of
`a computer System GUI in accordance with the prior art. In
`the figure, the GUI displays an active parent window 76
`having one child window 80 open. The GUI further presents
`a background area or “desktop” 72 on display device 70
`wherein the application windows and other Software features
`(dialog boxes, icons, etc.) are placed on top of desktop 72.
`A graphical pointer 78 in the form of an arrowhead is
`provided to allow the user, through manipulation of a
`pointing device of the computer System, to Select, highlight
`and activate various objects or features of the GUI. Child
`window 80 may include other pushbuttons. Only the save
`options “No” 82, “Yes” 83a and “Exit” 83b, are illustrated
`here.
`Child window 80 is active in the sense that it has been
`placed “on top” of the GUI, i.e., foremost (prominent) with
`respect to other application windowS Such as the active
`parent window 76 and inactive application window 74. In
`the “on top' position, the operating System redirects user
`inputs (e.g., from a keyboard) to this child window 80. In the
`particular configuration shown, child window 80 is sized
`and positioned within desktop 72 So as to cover (partially
`obscure) inactive application window 74 or active parent
`window 76 and child windows, if any, of inactive applica
`tion window 74.
`In the example depicted in FIG. 3, a child window has
`been launched in response to a user attempting to close a text
`editor. The program puts up an application-modal message
`child window 80 that asks the user if he wants to save his
`changes. Suppose the user would like to study the online
`help for the application before selecting “Yes” 82b or “No”
`82a. Today the user is unable to select Help from the main
`window pull-down menu, and would be stuck (i.e. unable to
`access the Help feature) if the developer did not also include
`a Help pushbutton on the message window.
`European pat No. 463,250 refers to semi-modal dialog
`boxes; however, it specifically refers to the relationship
`between two or more child windows Subservient to a parent
`window, and not on the inherent relationship between a child
`window and its parent as this invention does. For example,
`it considerS Situations where opening a child window for an
`application might not assure data integrity if a different child
`window is already existent. In Such a case, the new child
`window would not be allowed creation. This present inven
`tion does not cover Such situations. Rather, it invents com
`promise window manipulation possibilities for parent win
`dows based on levels of modality context in a child window,
`independent of any other child windows.
`Occasionally, a developer might want the window to be
`Something in-between totally modal and totally non-modal.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`For example, the user may want to Select the Help item from
`the menu of the parent window as explained above. There is
`no way to Specify and implement this today. It would,
`therefore, be desirable to devise an improved GUI interface
`that allowed for child windows of variable modality. It
`would be further advantageous if the GUI interface permit
`ted the programmer to Specify the level of modality for each
`component of the child windows.
`SUMMARY OF THE INVENTION
`It is therefore one object of the invention to provide an
`improved data processing System.
`It is another object of the present invention to provide an
`improved graphical user interface (GUI) for a data process
`ing System.
`It is yet another object of the present invention to provide
`an improved GUI for a data processing System where the
`GUI includes a parent and child windows having variable
`levels of modality.
`The foregoing objects are achieved in the following
`manner. An application which is executed utilizing a graphi
`cal user interface (GUI) which enables a parent window is
`disclosed. One or more child windows may be available to
`the user during execution. The level of modality of the child
`window is determined during programming by the applica
`tion developer. The operating System is modified to permit
`a variable level of modality during application execution.
`The developer selects variable modality for one or more of
`the child windows. When the child window is opened, the
`user is allowed to interact with the other windows based on
`the developers determination of level of modality. The
`variability may be either application or System-wide. The
`user is thus permitted to interface with only some of the
`functions on the other windows on the desktop while the
`child window is open.
`The above as well as additional objectives, features, and
`advantages of the present invention will become apparent in
`the following detailed written description.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The novel features believed characteristic of the invention
`are set forth in the appended claims. The invention itself,
`however, as well as a preferred mode of use, further
`objectives, and advantages thereof, will best be understood
`by reference to the following detailed description of an
`illustrative embodiment when read in conjunction with the
`accompanying drawings, wherein:
`FIG. 1 is a block diagram of a conventional computer
`System;
`FIG. 2 is an illustration of a computer display showing a
`conventional graphical user interface (GUI) which provides
`a parent window and child windows, and various other
`objects Such as a menu bar, a toolbar, and a status bar for a
`parent window, and a graphical pointer for the GUI,
`FIG. 3 is an illustration of a GUI according to prior art
`wherein a modal child window is presented;
`FIG. 4 is a logic flow diagram illustrating one implemen
`tation of the use of child windows in accordance with the
`present invention to provide variable modality, wherein the
`GUI responds to user input based on the level of modality set
`by the programmer of the application; and
`FIG. 5 is one illustration of a computer display according
`to the present invention depicting a child window with
`variable modality as to the menu items of the parent window
`with the Help item Selected form the application parent
`window.
`
`Apple Inc.
`Exhibit 1006
`Page 008
`
`
`
`S
`DESCRIPTION OF AN ILLUSTRATIVE
`EMBODIMENT
`The present invention is directed to a computer operating
`System having a graphical user interface (GUI) which allows
`a programmer to set the level of modality for the child
`windows of the GUI, e.g., non-modal, System modal, appli
`cation modal, and variable modal. The computer System's
`hardware may include the various components shown in
`FIG. 1, but the computer System is not necessarily
`conventional, i.e., it could include new hardware compo
`nents as well, or have a novel interconnection architecture
`for existing components. Therefore, while the present inven
`tion may be understood with reference to FIG. 1, this
`reference should not be construed in a limiting Sense. The
`GUI of the present invention may further be adapted for use
`with existing operating Systems Such as OS/2 (a trademark
`of International Business Machines Corp.) or Windows 95 (a
`trademark of Microsoft Corp.). Users of these systems are
`accustomed to interfacing with GUI objects Such as Status
`bars, toolbars, items Selectable from menu bar pull-downs,
`etc.
`With reference now to FIG. 4, the present invention
`introduces the concept of pre-Selecting modal options for
`GUI child windows, particularly based on programmer's
`desire for user interfacing. FIG. 4 depicts a logic flow
`control diagram of the Steps involved in the program imple
`mentation and Selection of modality for the user interface
`according to one embodiment of the present invention. The
`application is commence by the user as shown in block 51.
`A parent window is launched as illustrated in block 52. At
`Some point during user interaction with the application, the
`parent window brings up a child window as depicted in
`block 54. When the user attempts to access the parent
`window while displaying a child window as shown in block
`56, a series of logic steps depicted in blocks 58 and 60 are
`triggered to determine if the application modality Supports
`this interface. The system checks for the modality of the
`child window. It first determines if the child window is
`completely modal as illustrated in block 58, or completely
`non-modal as illustrated in block 60. If completely modal
`then the user is denied access to the parent window. If
`completely non-modal, the user is allowed access to the
`parent window and all other application windows. When the
`child window is neither completely modal nor completely
`non-modal, then it is variable modal as shown in block 62.
`Once this is determined, the System checks the parent
`window element the user is trying to interact with to
`determine the particular modality of the desired user inter
`face as shown in block 64 and allows or disallows access to
`the parent window based on the original programmer's
`determination. If the window element is one which is
`accessible to the user based on the child windows pre
`defined variable modality, the user is permitted to interact
`with the parent window element as illustrated in block 66. If
`the element is not accessible, no action is taken on the parent
`window. The process terminates at block 67 once interaction
`is allowed with the parent window.
`FIG. 5 depicts a display device 70 with its various
`numbered elements as described in FIG.3 above. However,
`in accordance with the present invention, FIG. 5 also depicts
`the Help menu box 88 selected from active parent window
`76. As described above, the GUI displays an active parent
`window 76, having child window 80 open, along with a
`graphical pointer 78 in the form of an arrowhead to allow the
`user, through manipulation of a pointing device of the
`computer System, to Select, highlight and activate various
`objects or features of the GUI.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,232,971 B1
`
`6
`The GUI of the present invention includes appropriate
`program instructions that allow a user, administrator, or
`programmer to Select options from the non-active windows
`of the GUI, based on one or more programmed criteria. In
`the example of FIG. 5, a variable child window is illustrated
`based on variable System and application modality.
`In FIG. 5, the presentation scheme has been designed to
`reflect a variable modal child window which is system
`modal. Here the application developer has allowed the user
`to Select the Help option of the parent application while the
`child window is open. No other menu item may be selected
`without first closing the child window.
`Any number of modal options are possible. In the illus
`trated example of FIG. 5, only the Help menu item may be
`Selected. Alternatively, other embodiments may permit a
`range of different forms of variable modality, Such as
`interfacing the Edit pull-down menu, or both the View and
`Edit pull-down menu, or any other combination as deter
`mined by the programmer when developing the application
`to improve its functionality.
`The foregoing example provides a method of pro
`grammed modality based upon the programmer's perceived
`functionality of the application. Other examples of how the
`present invention might be used is where the application
`developer might want the user to dispose of the child
`window before performing certain interactions with other
`application windows, but not all-it may be deemed
`appropriate, for instance, that the user be allowed to mini
`mize or maximize, or restore the primary application
`window, but not close it. Additionally, the user may be
`permitted to move or resize the child windows. Also, the
`programmer may permit the child window to Submerge
`below the parent window during Specific user interactions
`with the parent window.
`The present invention may be carried out by providing an
`operating System or modifying current Systems to Support
`and enable Such Semi-modal Specificity. Application devel
`opment environments (eg. Java, Visual C++) would need to
`document and handle developer usage. They must enable the
`application developer to Specify the levels of modality, and
`then Set control options that govern the manner in which the
`application's GUI child windows interact. The variable level
`Specified by the application developer would distinguish
`between System and application levels of modality, and then
`for each may allow granular, disparate specifications of user
`interaction. Additionally, the Software includes appropriate
`program instructions to handle any conflicts in the modal
`Settings, Such as where there are two or more open appli
`cations with Help menu items.
`The examples of FIGS. 4 and 5 discuss modality for child
`windows, but the present invention may be applied to a
`much larger group of modal child window operations,
`including all of the elements discussed in the Background of
`the Invention.
`Although the invention has been described with reference
`to specific embodiments, this description is not meant to be
`construed in a limiting Sense. Various modifications of the
`disclosed embodiments, as well as alternative embodiments
`of the invention, will become apparent to perSons skilled in
`the art upon reference to the description of the invention. For
`example, while the foregoing description applies to GUIs for
`computer Systems Such as personal computers (PCs), the
`present invention is not limited to use with PCs as it could
`be implemented on minicomputers, mainframes, or any
`other data processing equipment which presents information
`in the form of child windows. It is therefore contemplated
`
`Apple Inc.
`Exhibit 1006
`Page 009
`
`
`
`7
`that Such modifications can be made without departing from
`the Spirit or Scope of the present invention as defined in the
`appended claims.
`What is claimed is:
`1. A method of improving child window functionality of
`a computer application, Said method comprising the Steps of:
`providing a plurality of modality levels including a vari
`able level modality for a child window of said com
`puter application;
`designating a variable level modality of Said child win
`dow to an operating System associated with Said com
`puter application, wherein Said variable level modality
`distinguishes between a System and an application level
`and allows access to permitted features outside of Said
`child window while said child window is opened;
`in response to a Selection of a feature outside of Said child
`window while Said child window is open, determining
`that Said feature is a permitted feature external to Said
`child window; and
`in response to Said determining Step, accessing Said fea
`ture.
`2. The method of claim 1, wherein Said designating Step
`further provides granular, disparate specifications of user
`interaction outside of Said child window.
`3. The method of claim 2, wherein Said accessing Step
`includes minimizing, maximizing and restoring a parent
`window associated with said child window.
`4. The method of claim 2, further comprising the step of
`Submerging Said child window below the parent window
`when Said permitted feature is Selected.
`5. The method of claim 2, wherein Said accessing Step
`accesses a menu item selection from a parent window
`associated with said child window.
`6. The method of claim 1, further comprising the steps of:
`providing a graphical user interface with Selection options
`for child window modality, including full modality,
`non-modality, and variable modality;
`in response to a receipt of a user Selection, associating a
`Selected one of Said Selection options with Said child
`window of Said computer application.
`7. The method of claim 6, further comprising the steps of
`toggling Said variable level modality on in response to a user
`Selection of Said variable modality from among Said Selec
`tion options.
`8. A data processing System for improving child window
`functionality of a computer application, Said data processing
`System comprising:
`a proceSSOr,
`an operating System executed via Said processor, and
`program instructions executed by Said processor that
`provides:
`a modality Selection function providing a plurality of
`modality levels for a child window of said computer
`
`35
`
`40
`
`45
`
`50
`
`US 6,232,971 B1
`
`15
`
`25
`
`8
`application and which includes means for designat
`ing to the operating System a variable modality for
`said child window; and
`a response utility that, in response to a Selection of a
`feature outside of said child window while said child
`window is open, determines that Said feature is a
`permitted one of a set of external features, that can
`be accessed while Said child window is open and
`accesses said feature.
`9. The data processing system of claim 8, wherein said
`modality Selection function distinguishes between System
`and application levels of modality.
`10. The data processing system of claim 9, wherein said
`modality Selection function provides features by which a
`user may minimize, maximize, and restore a parent window
`of Said child window.
`11. The data processing System of claim 9, wherein Said
`modality selection function provides that a child window
`may be Submerged below the parent window for certain
`Specified user interactions.
`12. The data processing System of claim 9, wherein Said
`modality Selection function further permits a a user access to
`a menu Selection of a parent window of Said child window.
`13. A computer program product comprising:
`a storage medium adapted to be read by a computer; and
`program instructions Stored on Said Storage medium for
`enabling a variable level modality for a child window
`of a computer application, by (1) implementing a
`programming environment, which allows an applica
`tion developer to Select one of a plurality of modalities
`for a child window including said variable level modal
`ity which provides access to particular features outside
`of Said child windows, and (2) designating the variable
`level modality for said child window.
`14. The computer program product of claim 13, wherein
`Said program instructions further includes instructions for
`designating to the operating System the variable level modal
`ity for said child windows.
`15. The computer program product of claim 13, wherein
`Said program instructions includes instructions for distin
`guishing between System and application levels of modality.
`16. The computer program product of claim 15, wherein
`Said program instructions includes instructions that allow a
`user to minimize, maximize, and restore a parent window of
`said child window while said child window is open.
`17. The computer program product of claim 15, wherein
`program instructions includes instructions for Submerging a
`child window below a parent window for certain specified
`user interactions.
`18. The computer program product of claim 15, wherein
`program instructions includes instructions for allowing a
`user to access a Selected menu of a parent window of Said
`child window.
`
`Apple Inc.
`Exhibit 1006
`Page 010
`
`