`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 1 of 9
`
`5,425,140
`
` FIG. 1
`
`PRIORART
`
`6
`
`Page 00002
`
`
`Page 00002
`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 2 of 9
`
`5,425,140
`
`Page 00003
`
`
`Page 00003
`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 3 of 9
`
`5,425,140
`
`cIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIg
`
`I :
`
`II 3Q
`
`,
`-
`
`,1
`r’.
`
`.
`
`IIO
`
`SLOT
`
`,
`
`IIGHOCI-IANl~E|.BU8fi
`-on-o-cooooooooooouooooooooooooooooooo 00 no oooooocooooonoo-oooouucooooono-oooooooou
`
`Page 00004
`
`
`Page 00004
`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 4 of 9
`
`5,425,140
`
`32
`
`,1
`
`f......................................x.............
`
`A
`
`3
`
`conecmn
`
`.....--.....
`
`DATA
`
`ON“-R
`
`'
`
`I
`.
`IlI___—II—IZ
`
`mil
`
`EETIE
`ADAPTE
`
`il
`
`‘I
`
`‘I I“.
`
`il
`
`9 PARMLE.
`am
`ADAFTE
`
`Page 00005
`
`
`Page 00005
`
`
`
`
`
`June 13, 1995
`
`Sheet 5 of 9
`
`0
`
`5,425,140
`
`
`
`0?? [aria-——i'-in-m
`Er;-at J
`
`Page 00006
`
`
`Page 00006
`
`
`
`U-S- Patent
`
`June 13, 1995
`
`Sheet 6 of 9
`
`5,425,140
`
`FIG. 6
`
`Page 00007
`
`
`Page 00007
`
`
`
`U
`
`tnmm
`
`S”aGE
`
`J
`
`5m3,1W.
`
`9:10
`
`J,W.»4,5
`
`s.£>a_&_us.o.rosu.o.:a8..o__oaz..oo
`7vm,._su83..8s2_..o
`
`.:u.o.a...o_.a..!_:a8_..o
`
`MP
`
`8mme
`
`M.
`
`
`Page 00008
`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 8 of 9
`
`5,425,140
`
`FIG. 9
`
`Page 00009
`
`
`Page 00009
`
`
`
`U.S. Patent
`
`June 13, 1995
`
`Sheet 9 of 9
`
`Page 00010
`
`
`Page 00010
`
`
`
`1
`
`5,425,140
`
`METHOD AND APPARATUS FOR PROVIDING
`CONDITIONAL CASCADING IN A COMPUTER
`SYSTEM GRAPHICAL USER INTERFACE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`2
`acceptance was a primary goal, IBM chose a rather
`simple text oriented operating system which was suited
`for the level of hardware technologyof the time. The
`operating system chosen was named DOS which is the
`acronym for disk operating system. The limited objec-
`tives for DOS at the time were non-cryptic commands,
`English language error messages (instead of error
`codes, small memory size (12 Kbyte) and reasonable
`performance. DOS served well for the Family I ma-
`chines and even into the basic Family II models, but as
`memory and hardware prices declined and performance
`increased a more user friendly intuitive operating sys-
`tem was needed. Beginning in 1986, IBM started devel-
`opment of a graphical user interface (GUI) designed to
`mask the complexity of the hardware technology ad-
`vances and present to the user an intuitive, flexible, and
`easy-to-use system. This operating system was named
`OS/2 and was developed for the more advanced tech-
`nology of the Family II models.
`Additionally, other manufactures have investigated
`and used other types of GUI systems. One of the earliest
`in the personal computing area was Xerox’s STAR
`system that presented the user with icons representing a
`particular operation or software application. Later,
`APPLE’s Macintosh system added features such as
`windows and drag and drop to further the intuitive
`nature of the graphical user interface for APPLE’s line
`of computers. Presently, MICROSOFT’s WINDOWS
`provides a graphical user interface on IBM compatible
`machines.
`
`The present patent application is one of a group of ’
`copending applications which concern the same overall
`personal computer system but which individually claim 10
`different inventive concepts embodied in such personal
`computer system. These related patent applications
`were filed on the same date, namely Mar. 20, 1992, are
`specifically incorporated by reference herein, and are
`more particularly described as follows:
`(1) application Ser. No. 07/854,257, filed Mar. 20,
`1992, entitled “Method for Providing Size Adjustment
`for a Maximized Window in a Computer System
`Graphical User Interface”, the inventor being Bloom-
`field; and
`(2) application Ser. No. 07/855,366, filed Mar. 20,
`1992, now abandoned, entitled “Method for Providing a
`Readily Distinguishable Template and Means of Dupli-
`cation Thereof in a Computer System Graphical User
`Interface”, the inventors being Bloomfield et al, and
`(3) application Ser. No. 07/855,369, filed Mar. 20,
`1992, now U.S. Pat No. 5,371,844, entitled “Palette
`Manager In A Graphical User Interface Computer Sys-
`tem”, the inventors being Bloomfield et al.
`
`15
`
`20
`
`25
`
`30
`
`FIELD OF THE INVENTION
`
`This invention relates to personal computer systems
`and in particular to a method and device for improving
`a graphical user interface (GUI) on a personal computer
`system.
`
`35
`
`BACKGROUND DISCUSSION
`
`Personal computer systems in general and IBM per-
`sonal computers in particular have attained widespread
`use for providing computer power to many segments of 40
`today’s modern society. Personal computer systems can
`usually be defined as a desktop, floor standing, or porta-
`ble microcomputer that consists of a system unit having
`a single system processor, a display monitor, a key-
`board, one or more diskette drives, a fixed disk storage, 45
`and an optional printer. One of the distinguishing char-
`acteristics of these systems is the use of a motherboard
`or system planar to electrically connect these compo-
`nents together. These systems are designed primarily to
`give independent computing power to a single user and 50
`are inexpensively priced for purchase by individuals or
`small businesses.
`
`Examples of such personal computer systems are
`IBM’s PERSONAL COMPUTER AT, IBM’s PER-
`SONAL SYSTEM/2 Models 25, 30, 35, 40 SX, 55 SX, 55
`57 SX, 70, 80, 90 and 95, and IBM PERSONAL SYS-
`TEM/1 computers. These systems can be classified into
`two general families. The first family, usually referred
`to as Family I Models, use a bus architecture exempli-
`fied by the IBM PERSONAL COMPUTER AT and 60
`other “IBM compatible” machines. The second family,
`referred to as Family II Models, use IBM’s MICRO
`CHANNEL bus architecture exemplified by IBM’s
`PERSONAL SYSTEM/2 Models 55 SX through 95.
`Beginning with the earliest personal computer system 65
`of the Family I models, such as the IBM Personal Com-
`puter,
`it was recognized that
`the operating system
`would be of utmost importance. Realizing that market
`
`With GUI systems, the computer system is controlled
`using a pointing device such as a mouse. The pointing
`device controls the location of a pointer that appears on
`the screen of the computer’s display device. Elements
`on the screen such as icons, which are graphical repre-
`sentations of various modules such as disk drives, appli-
`cations and documents, or windows, which are rectan-
`gular areas on the screen in which applications or docu-
`ments can be viewed, may be manipulated using the
`mouse. In this way, the underlying devices which the
`elements represent may be controlled.
`As GUI systems developed, producing the underly-
`ing elements such as windows and icons has become
`well known. In fact, publicly available tools such as
`icon and window editors are now available to actually
`create the visual display. For example, Conklin, OS/2
`Notebook, (Microsoft Press, 1990) pp. 159-255 dis-
`cusses OS/2 software tools.
`
`As new models of the personal computer family were
`introduced, OS/2 had to be updated and enhanced. One
`of the major features of the OS/2 Version 2.0 operating
`system in which the present invention is incorporated is
`a workplace shell featuring a desktop metaphor. Briefly,
`the desktop metaphor presents the user with the look of
`a desktop. For example,
`files can appear as icons
`grouped together into folders. Folders can be placed
`into a predefined space such as a window. Application
`programs appear as unique icons that can be activated
`when a pointer, positioned by the movement of a mouse
`over the icon, is energized usually by double clicking
`one of the mouse buttons.
`.
`Prior GUI systems such as IBM OS/2 Version 1.3
`have employed cascade menus. When a cascade menu
`appears in the user’s desktop on the screen, the user is
`presented with a main menu including a plurality of
`choices, each of the choices representing a basic func-
`tion. For example, as seen in the screen representation
`
`Page 00011
`
`
`Page 00011
`
`
`
`5,425,140
`
`4
`item including a text command descriptive of a basic
`function, atleast one of the action items including an
`advanced function push-button adjacent the basic func-
`tion. The method also includes the step of selecting with
`a pointing device either the text command or an ad-
`vanced function push-button of one of the action items.
`The method further includes the step of determining if
`a text command or an advanced function push-button of
`a particular action item is selected. The method also
`includes the step of perfonning a function correspond-
`ing to the text command if the text command is selected.
`The methpd still further includes the step of displaying
`an advanced function menu in the window in cascade
`
`relationshipwith the main menu if it is determined that
`an advanced function push-button was selected,
`the
`advanced function menu including a plurality of action
`items corresponding to respective advanced functions
`related to the basic function in the selected main menu
`action item.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foreground aspects and other features of the
`present invention are explained in the following written
`description, taken in connection with the accompanying
`drawings, wherein:
`FIG. 1 is a screen representation of a typical main
`menu employed in a graphical user interface
`FIG. 2 is a screen representation of a submenu cas-
`caded with respect to a main menu in a graphical user
`interface.
`
`FIG. 3 shows a personal computer system in which
`the present invention can be employed.
`FIG. 4 shows a system‘ block diagram for the personal
`computer system of FIG. 2.
`FIG. 5 is a screen representation of the desktop em-
`ployed in the present invention.
`FIG. 6 is a screen representation of a main menu in
`accordance with the present invention.
`FIG. 7 is a screen representation of a conditionally
`cascaded window in accordance with the present inven-
`tion.
`
`FIG. 8 is a screen representation of a subfunction
`window called from a conditionally cascaded submenu
`in accordance with the present invention.
`FIG. 9 is a screen representation of a main menu in
`accordance with the present invention.
`FIG. 10 is a screen representation of a conditionally
`cascaded window in accordance with the present inven-
`tion.
`
`FIG. 11 is a flowchart depicting the operation of the
`method and apparatus of the present invention.
`DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`The following detailed description is of the best pres-
`ently contemplated mode for carrying out the inven-
`tion. This description is not to be taken in a limiting
`sense but is made merely for the purpose of illustrating
`the general principles of the invention since the scope of
`the invention is best defined by the appending claims.
`
`3
`depicted in FIG. 1, after double clicking on an icon such
`as folder icon 2, a main menu 4 appears within the win-
`dow 6 on the computer screen. In this particular exam-
`ple, menu 4 includes such choices as the following basic
`functions “Open”, “Help”, “Create another” (folder) ,
`“COPY: Move”,
`“Create shadow”,
`“Delete” and
`“Find”.
`
`When the user selects the basic function Help from
`main menu 4, the Help function becomes highlighted
`and a cascaded submenu 8 automatically and uncondi-
`tionally appears on the screen adjacent menu 4 as seen
`in FIG. 2. Submenu 8 is said to be cascaded with respect
`to main menu 4 in that it appears adjacent main menu 4
`and depends logically therefrom. Submenu 8 includes a
`plurality of more advanced functions as compared with
`the basic functions of menu 4. The advanced functions
`of menu 8 are related to the particular basic function
`selected from menu 4 but provide the capability of se-
`lecting a particular type, variety, aspect or portion of
`the selected basic function. In this respect the functions
`of submenu 8 are subfunctions of the particular item of
`menu 4 which was selected by the user. For example, in
`the present example wherein the basic function Help
`was selected from menu 4, the submenu 8 may include
`the following more advanced subfunctions “Help in-
`dex”, “General help”, “Using help” and “Keys help” as
`seen in FIG. 2.
`The ready availability of such advanced functions is
`very desirable for more experienced GUI users. How-
`ever, always exposing novice users to such advanced
`functions presents the novice user with unnecessary
`hurdles to overcome while learning and becoming pro-
`ductive with a particular GUI.
`
`SUMMARY OF THE INVENTION
`
`The present invention has been developed for the
`purpose of solving the above mentioned problems.
`Accordingly, theinvention has as one of its objects a
`means for shielding users from advanced operations in a
`graphical user interface.
`Another objective of the present invention is to en-
`hance the ease of use of a graphical user interface.
`Yet another object of the present invention is to pro-
`vided ready access to advanced functions for more
`experienced graphical user interface users.
`In accordance with one embodiment of the invention,
`a method is provided for selecting a desired function in
`a computer system including the step of displaying, in a
`window on the computer system, a menu including a
`plurality of user selectable action items, each action
`item representing a basic function. The method also
`includes the step of displaying in the window at least
`one advanced function activator button adjacent one of
`the user selectable action items. The method further
`includes the step of determining if the action item or the
`adjacent advanced function activator button has been
`selected by the user. The method also includes the steps
`of performing the basic function represented by the
`action item if the action item has been selected by the
`user, and displaying an advanced function menu if the
`advanced function activator button has been selected by
`the user, the advanced function menu including a plu-
`rality of advanced function related to the basic function.
`In another embodiment of the method of the present
`invention, a method is provided for selecting a desired
`function in a computer system including thestep of
`displaying, in a window on a computer screen, a main
`menu including a plurality of action items. Each action
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`'
`50
`
`55
`
`1. Operation Of The Computer System——General
`
`65
`
`Prior to relating the methodology and structure of
`the present invention, a summary of the operation in
`general of a typical personal computer system may
`merit review. Referring now to the drawings, and in
`particular to FIG. 3, there is shown a Personal Com-
`puter System 10 in which the present invention can be
`
`Page 00012
`
`
`Page 00012
`
`
`
`5
`
`5,425,140
`
`employed. As shown, the Personal Computer System
`10 comprises a number of components which are inter-
`connected together. More particularly, a system unit 12
`is coupled to and can drive an optional monitor 14 (such
`as a conventional video display). A system unit 12 can
`also be optionally coupled to input devices such as a PC
`_ keyboard 16 or a mouse 18. Mouse 18 includes right and
`left buttons (not shown). The left button is generally
`employed as the main selector button and is alterna-
`tively referred to as the first mouse button or mouse
`button 1. The right button is typically employed to
`select auxiliary functions as explained later. The right
`mouse button is alternatively referred to as the second
`mouse button or mouse button 2. An optional output
`device such as a printer 20 can also be connected to the
`system unit 12. Finally the system unit 12 may include
`one or more mass storage devices such as the diskette
`drive 22.
`
`0 As will be described below, the system unit 12 re-
`sponds to input devices such as the PC keyboard 16, the
`mouse 18, or local area networking interfaces. Addi-
`tionally, input/output devices, such as the diskette drive
`22, display 14, printer 20, and local area network com-
`munication system are connected to the system unit 12
`in a manner well known. Of course, those skilled in the
`art are aware that other conventional components can
`also be connected to the system unit 12 for interaction
`therewith. In accordance with the present invention,
`the computer system 10 includes a system processor
`that is interconnected to a random access memory
`(RAM), a read only memory (ROM), and a plurality of
`I/O devices.
`
`In normal use, the personal computer system can be
`designed to give independent computing power to a
`small" group of users as a server or a single user and is
`inexpensively priced for purchase by individuals or
`small businesses. In operation, the system processor
`functions under an operating system, such as IBM’s
`OS/2 operating system or DOS. This type of operating
`system includes a BIOS interface between the I/O de-
`vices and the operating system. BIOS, which can be
`stored in a ROM on a motherboard or planar, includes
`diagnostic routines which are contained in a power on
`self test section referred to as POST.
`
`II. Operation Of The Computer System—In More
`Detail
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`6
`apparatus and methods in accordance with the present
`invention may be used with other hardware configura-
`tions of the planar board. For example, the system pro-
`cessor could be an Intel 80286 or 80486 microprocessor.
`These particular microprocessors can operate in a real
`addressing mode or a protected addressing mode. Each
`‘ mode provides an addressing scheme for accessing dif-
`ferent areas of the microprocessor’s memory.
`Returning now to FIG. 4, the CPU local bus 24 (com-
`prising data, address and control components) provides
`for the connection of a microprocessor 26, an optional
`math coprocessor 27, a cache controller 28, and a cache
`memory 30. Also coupled on the CPU local bus 24 is a
`buffer 32. The buffer 32 is itself connected to a slower
`speed (compared to the CPU local bus) system bus 34,
`also comprising address, data and control components.
`The system bus 34 extends between the buffer 32 and a
`further buffer 36. The system bus 34 is further con-
`nected to a bus control and timing unit 38 and a DMA
`unit 40. The DMA unit 40 is comprised of a central
`arbitration unit 48 and a DMA controller 41. The buffer
`36 provides an interface between the system bus 34 and
`an optional feature bus such as the Micro Channel bus
`44. Connected to the bus 44 are a plurality of I/O slots
`46 for receiving Micro Channel adapter cards which
`may be further connected to an I/O device or memory.
`An arbitration control bus 42 couples the DMA con-
`troller 41 and central arbitration unit 48 to the 1/0 slots
`46 and diskette adapter 82. Also connected to system
`bus 34 is a memory control unit 50 which is comprised
`of a memory controller 52, an address multiplexer 54,
`and a data buffer 56. The memory control unit 50 is
`further connected to a random access memory as repre-
`sented by the RAM module 58. The memory controller
`52 includes the logic for mapping addresses to and from
`the microprocessor 26 to particular areas of RAM 58.
`While the microcomputer system 10 is shown with a
`basic 1 megabyte RAM module, it is understood that
`additional memory can be interconnected as repre-
`sented in FIG. 4 by the optional memory modules 60
`through 64.
`A further buffer 66 is coupled between the system bus
`34 and a planar I/O bus 68. The planar I/O bus 68
`includes address, data, and control components respec-
`tively. Coupled along the planar bus 68 are a variety of
`I/_O adapters and other peripheral components such as
`the display adapter 70 (which is used to drive an op-
`tional display 14), a clock 72, nonvolatile RAM 74
`(hereinafter referred to as NVRAM), a RS232 adapter
`76, a parallel adapter 78, a plurality of timers 80, a dis-
`kette adapter 82, a PC keyboard/mouse controller 84,
`and a read only memory (ROM) 86. The ROM 86 in-
`cludes BIOS which provides the user transparent com-
`munications between many I/O devices.
`The clock 72 is used for time of day calculations.
`NVRAM 74 is used to store system configuration data.
`That is, the NVRAM will contain values which de-
`scribe the present configuration of the system. For ex-
`ample, NVRAM contains information which describe
`the capacity of a fixed disk or diskette, the type of dis-
`play, the amount of memory, etc. Of particular impor-
`tance, NVRAM will contain data which is used to de-
`scribe the system console configuration; i.e. whether the
`PC keyboard is connected to the keyboard/mouse con-
`troller 84, a display controller is available or the ASCII
`terminal is connected to the RS232 adapter 76. Further-
`more, these data are stored in NVRAM whenever a
`special configuration program is executed. The purpose
`
`50
`
`Prior to relating the above structure to the present
`invention, a summary of the operation in general of the
`Personal Computer System 10 may merit review. Refer-
`ring to FIG. 4, there is shown a block diagram of the
`Personal Computer System 10 illustrating the various
`components of the Computer System 10 in accordance
`with the present invention. FIG. 4 further illustrates
`components of the planar 11 and the connection of the
`planar 11 to the I/O slots 46 and other hardware of the
`Personal Computer System 10. Connected to the planar
`11 is the system processor 26 comprised of a micro-
`processor which is connected by a high speed CPU
`local bus 24 through a bus controlled timing unit 38 to
`a memory control unit 50 which is further connected to
`a volatile random access memory (RAM) 58. While any
`appropriate microprocessor can be used, one suitable
`microprocessor is the 80386 which is sold by Intel.
`While the present invention is described hereinafter 65
`with particular reference to the system block diagram
`of FIG. 4, it is to be understood at the outset of the
`description which follows, it is contemplated that the
`
`55
`
`Page 00013
`
`
`Page 00013
`
`
`
`7
`of the configuration program is to store values charac-
`terizing the configuration of this system to NVRAM
`which are saved when power is removed from the sys-
`tem.
`
`5,425,140
`
`Connected to keyboard/mouse controller 84 are
`ports A and B. These ports are used to connect a PC
`keyboard (as opposed to an ASCII terminal) and mouse
`to,the PC system. Coupled to RS232 adapter unit 76 is
`an RS232 connector. An optional ASCII terminal can
`be coupled to the system through this connector.
`
`III. OS/2 Version 2 Operating System—General
`
`It may be appropriate at this point to briefly review
`selected features of the OS/2 2.0 GUI. FIG. 5 illustrates
`a typical display screen 100 which appears when using
`OS/2 2.0. The viewing area within screen 100 is re-
`ferred to as desktop 102. Desktop 102 includes a plural-
`ity of user selectable icons which are conveniently se-
`lected by double clicking the left button of the mouse.
`Each icon represents an application, function or file
`storage area which the user can select. For example, as
`seen in FIG. 5, desktop 102 includes an OS/2 System
`icon 104, a Network icon 106, a Templates icon 108, a
`Printer icon 110, a Shredder icon 112, a Folder icon
`114, another Folder icon 116 and a Data file 118.
`When the user selects an icon by double clicking the
`same, the corresponding function is activated and the
`icon becomes highlighted. For example, when the OS/2
`System icon 104 is selected on desktop 102, OS/2 Sys-
`tem icon 104 becomes highlighted as illustrated in FIG.
`5. When OS/2 System icon 102 is so selected, a corre-
`sponding window 120 of further possible selections is
`displayed on desktop 102. More specifically, window
`120 includes a title bar 122 in which the name of the
`selected window is designated in, text as “System
`Setup-Icon View”. In this particular example, the
`selectable icons appearing within System Startup win-
`dow 120 includes a System Clock icon 124, a Keyboard
`icon 126, a Mouse icon 128, a Sound icon 130, a System
`icon 132, a Font Palette icon 134, a Color Palette 136, a
`Country icon 138 and Scheme Palette 140.
`The upper right corner of window 120 includes a
`small box 142 which, if selected by the user, minimizes
`window 120, thus dismissing window 120 and returning
`window 120 to the icon 104 representation thereof. The
`upper right corner of window 120 also includes a box
`144, larger than box 142 and which if selected by the
`user, maximizes window 120, thus causing window 120
`to occupy substantially all of desktop 102.
`The icon representation 146 appearing in the upper
`left corner indicates the type of window to which it
`corresponds. For example, window 120 is a system
`setup window; accordingly, the icon appearing in the
`upper left corner of window 120 is representative of the
`System icon. Had system clock icon 124 been selected,
`the icon appearing in the upper left comer of its win-
`dow would be representative of a clock.
`Since title bar 122 of window 120 is depicted in white
`or “not-highlighted”, this indicates the window 120 is
`not presently selected or active. Rather the user has
`clicked on and selected Folder 114 as indicated by its
`highlighted nature. When Folder 114 was so selected, a
`corresponding Folder window 148 was opened on desk-
`top 102 in overlapping fashion with respect to the ear-
`lier opened System Setup window 120. The title bar 150
`of window 148 indicates the title of window 148 as
`being “Folder-Icon View”. It is noted that title bar 150
`
`8
`of window 148 is highlighted, thus indicating that win-
`dow 148 is presently the active window.
`Window 148 includes a horizontal scroll bar 152
`which can be engaged by the user to scroll through the
`contents of window 148 from left to right and from
`right to left all within the particular viewing area de-
`fined by the chosen dimensions of window 148. Win-
`, dow 148 also includes a vertical scroll bar_for scrolling _
`through the window contents vertically. Other win-
`dows generated by the operating system also include
`this feature. For purposes of example, window 148
`includes a Reports icon 156, a Laser Printer Down The
`Hall icon 158, a Printer On My Desk icon 160, a Weekly
`Report icon 162 and a Status icon 164.
`
`10
`
`IV. Conditional Cascading Menus in OS/2 Version 2
`
`When the user selects the word Open by clicking on
`the word “Open” in main menu 166, the function or
`application associated with the presently selected icon
`is launched.
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`One way to select and activate the function or appli-
`cation represented by a particular icon is to single click
`the right mouse button on that icon. This action causes
`a main menu such as menu 166 to appear on the screen.
`Initially, main menu 166 appears within window 148
`without any associated cascaded submenus as illustrated
`in FIG. 6. For clarity, window 148 has been depicted in
`FIG. 6 without icons 156-164. Main menu 166 in this
`particular example includes such choices or action items
`as the following basic functions: “Open”, “Help”, “Cre-
`ate another” (folder), “Copy, Move”, “Create shadow”,
`“Delete” and “Find”.
`
`To illustrate the conditional cascading feature of the
`present invention, an example is now discussed wherein
`the user selects the basic Help function/action item 168
`in main menu 166 of FIG. 6 by clicking on the “Help”
`text within action item 168 in menu 166. The “Help”
`action item 168 then becomes highlighted as indicated
`in FIG. 6 and the “Help” function is then launched.
`A mini push-button 170 is located in the rightmost
`portion of the “Help” action item 168 in main menu 166.
`When the user clicks on the mini push-button 170, a
`cascaded “Help” submenu 172 appears adjacent main
`menu 166 as shown in FIG. 5 and in more detail in FIG.
`7. The cascaded submenu 172 includes all forms of the
`selected basic function (“Help” in this case) as action
`items. More specifically, referring to FIG. 7, it is seen
`that the Help submenu 172 includes the following ac-
`tion items: Help Index, General Help, Using Help and
`Keys Help. It is thus seen that the functions of submenu
`172 are subfunctions of the function associated with the
`selected action item of main menu 166. Stated altema-
`tively, the subfunctions of submenu are advanced func-
`tions with respect to the more general function associ-
`ated with the selected action item of main menu 166.
`It is noted that a check mark appears adjacent the
`General Help action item in submenu 172. This indi-
`cates that General Help is the default action item of
`submenu 172. This means that when the user clicks on
`the Help text of the Help action item 168, the General
`Help subfunction is launched as a default. However, if
`the user clicks on the mini push-button 170 associated
`with action item 168, then the user is presented with
`submenu 172 which provides a listing of all forms of the
`basic action item, namely all forms of the Help function,
`as listed above. In this manner, a conditional cascade is
`provided wherein the cascaded submenu of subfunc-
`tions does not appear every time the selected main ac-
`
`Page 00014
`
`
`Page 00014
`
`
`
`5,425,140
`
`9
`tion item is invoked on the main menu, but rather the
`cascaded subfunction submenu is invoked conditionally
`when the user clicks on the mini push-button associated
`with the selected action item of the main menu.
`When subfunction menu 172 is invoked, the user can
`select the particular type of help which is desired. For
`example, the user can click on the General Help item in
`submenu 172. This causes the General Help item to be
`highlighted as shown in FIG. 7. The General Help
`window is then displayed on desktop 102 as shown in
`FIG. 8. Returning again to FIG. 7, it is again noted that
`the check mark next to General Help in submenu 172
`indicates that General Help is the default selection. In
`other words, when the user clicks on the Help text of
`the Help action item 168 of main menu 166, the General
`Help subfunction is launched. The default subfunction
`can however be changed to any of the action items of
`subfunction menu 172. To perform such a default
`change operation, the user accesses submenu 172 by
`clicking on mini-push button 170. Once submenu 172
`appears, the user selects a particular subfunction and
`that selected subfunction then becomes the default sub-
`function which is invoked the next time the user selects
`the Help text of the Help action item 168. In other
`words, the most recently selected subfunction consti-
`tutes the default subfunction. The selected subfunction
`is provided with a check mark as shown in FIG. 7.
`Other options provided with respect to the default sub-
`function are that the default never changes and that the
`application itself can change the default.
`FIG. 9 shows another example of a conditionally
`cascaded menu in accordance with the present inven-
`tion. Main menu 166 in FIG. 9 is the same main menu
`that appeared in FIG. 6 discussed earlier. The differ-
`ence here is that the user has selected the “Open” action
`item 174 and in so doing action item 174 becomes high-
`lighted as seen in FIG. 9. Action item 174 includes a
`mini push-button 176 associated therewith. In a manner
`similar to the conditional cascaded Help function and
`subfunction menus discussed above, when the user se-
`lects the mini push-button associated with the Open
`main function, a submenu 178 of subfunctions appears
`adjacentmain menu 166 in cascaded relationship there-
`with as depicted in FIG. 10. The subfunctions contained
`in submenu 178 are subfunctions related to the associ-
`ated Open function in main menu 166. More specifi-
`cally, submenu 178 includes the following action items
`as subfunctions: Settings, Icon View, Tree View and
`Details View. In this particular example, the default
`subfunction is Icon View as indicated by the check
`mark adjacent the Icon View action item in submenu
`178. Thus, when the user performs an Open operation
`by clicking on the text of the Open action item 174, by
`default icon views will be generated when such Open
`operation is performed. The default subfunction may be
`changed in the manner described earlier.
`A flowchart which depicts the operational flow of
`the conditional cascading method and apparatus of the
`present invention is depicted in FIG. 11. At the start of
`process flow a main menu is displayed as per block 201.
`This main menu of choices or action items is displayed
`either as a popup menu or as a pulldown menu, for
`example. In this particular embodiment of the inven-
`tion, a popup menu will be displayed for any object
`when the user clicks on the object with the second
`mouse button. The user positions the pointer or cursor
`using the mouse and selects one of the aforementioned
`main menu items as per block 202. More specifically, an
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`10
`item is selected by clicking with mouse button 1 or by
`using a keyboard action of either Esc, Enter, or a mne-
`monic.
`To access the conditional cascade menu, the user
`clicks with mouse button 1 on the mini push-button next
`to the text of the menu action item. To access the condi-
`tional cascade menu with the keyboard, the user presses
`the right arrow key on the keyboard. The conditio