Multi-pane window with reconfiguring workspaces

Abstract: Methods, data processing systems or program products which provide user interfaces including a window having a workspace and a first set of non-overlapping resizeable panes comprising a plurality of non-overlapping resizeable panes within the workspace. The non-overlapping resizeable panes occupy substantially the entirety of said workspace. Open or closing pane creates a second set of panes in the window. In the opening case, the second set of panes include the first set of panes and a new pane in non-overlapping relationship without requiring resizing of the new pane or the first set of panes by the user. In the closing case, the second set of panes include the remaining panes of the first set of panes which occupy substantially the entirety of the workspace in non-overlapping relationship without requiring resizing of the new pane or the first set of panes by the user. Selectable contents may also be provided and are contained within at least one of the non-overlapping resizeable panes which includes at least one option icon of user selectable options. Selecting an option icon causes the contents of the non-overlapping resizeable pane to be replaced by contents associated with the selected option icon.

Description: Field of the Invention The present invention relates generally to user interfaces for computer systems. More particularly, the present invention relates to multiple workspaces in a user interface environment for a computer system. Background of the Invention Increases in processing capability and decreases in the cost of personal computers has led to the proliferation of personal computers in all aspects of society. Personal computers are utilized in schools, homes and in business. Furthermore, with the decreased costs of personal computers, it has become more feasible from a cost perspective to use computers for tasks, and to carry out functions, which were previously done without the use of computers. With the proliferation of computers throughout numerous aspects of life has come a trend to graphic user interfaces which make using a computer more intuitive. Examples of such graphic user interfaces include IBM OS/2* 1 , Apple System 7* 2 , and Microsoft Windows* 3 . These operating systems all rely on a "window like" workspace for applications, operating system information, such as directory information, and program groupings. Multiple windows may be displayed on the screen of a computer display device simultaneously in what is often referred to as a "desktop." Windows within a desktop are defined by a border which surrounds the window and may also include a title bar and in some cases a series of menu choices which may manage the appearance and contents of the window. In combination with a pointing device, windows may be independently moved and resized by "dragging" a border to a new location. Resizing a window may also be accomplished by dragging the corner of a window which simultaneously resizes the window in two directions. Multiple windows on a desktop may be displayed in two primary ways. Windows may overlap each other and obscure windows beneath the topmost window in what is often referred to as a "cascade" or windows may be "tiled" across the screen so that the windows do not overlap. However, the tile method of displaying windows has previously been utilized primarily as a user selected option after creation of cascaded overlapping windows, in for example, Windows and Windows applications such as WordPerfect* 4 for Windows. In either the cascade case or the tile case, the creation or destruction of windows does not affect the sizing of existing windows on the screen. Furthermore, windows may be independently moved about the screen to relocate the window on the desktop. To the best of the inventor's present knowledge, present user interfaces only allow independently sized and positioned windows or windows which bear a fixed relationship between each other. Thus, as a user opens new windows the older windows may be overlapped and obscured. When the user resizes one window the remaining windows open on the desktop are not resized and the user may resize each window individually to correct for overlap of multiple windows that the user desires to be visible. Alternatively, to the best of the inventor's present knowledge, as a user opens an application, such as Windows Explorer, which has a fixed number of resizeable subdivisions in the application window, the size of each subdivision is specified by the application. Furthermore, the number of subdivisions of the window is constant in that, for example, only two subdivisions of the window are present. Finally, these subdivisions are permanently connected so that they are in a fixed relationship with each other. Thus, a degree of flexibility of the user interface is sacrificed when the application has resizeable subdivisions of its window. As a result of the increased complexity and the multi-tasking or multi-thread capabilities of modern graphic interface operating systems such as OS/2, it has become more and more likely that multiple windows will be open on the desktop simultaneously. With ever increasing size and resolution capabilities of display devices for computers it becomes more likely that a meaningful presentation of multiple windows is possible. Also, window based operating systems such as Windows 95 and Apple System 7 display disk information within windows. Thus, to navigate a directory structure to locate a desired file a window is opened for each directory in the path to the file. These windows provide useful information only for a short period of time until the next level in the path is opened but remain displayed on the screen until closed by the user. Thus, often the screen becomes quickly cluttered with windows which contain information which is no longer needed. As these examples illustrate, as the number of windows on a desktop increases there is an increased likelihood that a window containing information the user desires to be displayed is obscured. Thus, the increase in the use of multiple window applications and windowing operating systems has resulted in the proliferation of windows on a user's desktop which often clutters and obscures the useful information the user desires. When these limitations of user interfaces are combined with the proliferation of windows on a desktop, the user is often required to resize each window individually to correct for overlap of multiple windows that the user desires to be visible or to perpetually close unneeded windows. Accordingly, in view of the above, it is apparent that the increase in use of graphical user interfaces and the increased capabilities of computer has brought about a need for improvements in the manipulation of windows in these user environments. International patent application WO94/24657 discloses a method for allowing a user to create a new pane in a window by splitting an existing pane in two. Objects and Summary of the Invention It is an object of the present invention to provide a technique which alleviates the above drawbacks. According to the present invention we provide a user interface for a data processing system, the user interface comprising: a window having a workspace; a plurality of non-overlapping resizeable panes within said workspace of said window; selectable contents contained within at least one of said non-overlapping resizable panes wherein said selectable contents include at least one option icon of user selectable options and wherein selecting said at least one option icon causes contents of said at least one of said non-overlapping resizable panes to be replaced by contents associated with said selected option icon and a view stack associated with said at least one of said non-overlapping resizable panes the contents of which has been replaced, said view stack comprising a viewable display of one or more view icons, wherein: each of said view icons is associated with a previously replaced contents of said associated non-overlapping resizable pane; said viewable display is a visual representation of a stack; and selection of any of said view icons in a path to a top of said stack causes the contents of said associated non-overlapping resizable pane to be replaced by the previously replaced contents associated with said selected view icon in a single operation. Further according to the present invention we provide a method of providing a user interface for a data processing system comprising the steps of: providing a window having a workspace; providing a plurality of non-overlapping resizeable panes within said workspace of said window; providing selectable contents contained within at least one of said non-overlapping resizable panes wherein said selectable contents include at least one option icon of user selectable options and wherein selecting said at least one option icon causes contents of said at least one of said non-overlapping resizable panes to be replaced by contents associated with said selected option icon and providing a view stack associated with said at least one of said non-overlapping resizable panes the contents of which has been replaced, said view stack comprising a viewable display of one or more view icons, wherein: each of said view icons is associated with a previously replaced contents of said associated non-overlapping resizable pane; said viewable display is a visual representation of a stack; and selection of any of said view icons in a path to a top of said stack causes the contents of said associated non-overlapping resizable pane to be replaced by the previously replaced contents associated with said selected view icon in a single operation. Also according to the present invention we provide a computer-readable storage medium having computer-readable program code means for implementing the method of any claim 6-10. Brief Description of the Drawings Figure 1 is a logical diagram of a system utilizing the present invention; Figure 2 is a diagram of a screen utilizing the present invention having three panes; Figure 3 is a diagram of the screen of Figure 2 with an additional pane opened by user input; Figure 4 is a diagram of a screen according to the present invention having icons for user selection; Figure 5 is a diagram of the window of Figure 4 after selection of a user selectable option icon; Figure 6 is a diagram of screen of Figure 5 after a pane is dragged to a new window; Figure 7 is a flowchart of one embodiment of the present invention; and Figure 8 is a flowchart of another embodiment of the present invention. Detailed Description The present invention will now be described more fully hereinafter with reference to the accompanying drawings. This invention may, however, be embodied in many different forms as defined by the claims and should not be construed as limited to the examples set forth herein; rather, these examples are provided so that this disclosure will be thorough and complete. Like numbers refer to like elements throughout. As will be appreciated by one of skill in the art, the present invention may be embodied as a method, data processing system or program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices. Figure 1 illustrates a data processing system on which user interfaces according to the present invention may be utilized. As seen in Figure 1 , a data processor 20 may have an operating system 21 resident in the processor 20 . An application 22 may be running on the operating system 21 . The processor 20 displays information on a display device 23 . The display device 23 has a plurality of picture elements (collectively referred to as a screen) which may define the appearance of a user interface environment displayed on the display device 23 . The contents of the screen of the display device 23 and, therefore, the appearance of the user interface environment, may be controlled or altered by the application 22 or the operating system 21 either individually or in combination. For obtaining input from a user, the operating system 21 , the application 22 or both may utilize user input devices 24 . User input devices 24 may include a pointing device 25 and a keyboard 26 or other input devices known to those of skill in the art. User input devices 24 may be used to designate areas of the screen or locations on the screen such as the border of a workspace or the corner of the borders of the workspace. Furthermore, once designated, the user interface may display a separate icon to indicate that selection of that location of the screen may translate the feature of the workspace or the workspace itself to a different location on the screen. Figures 2 and 3 illustrate a user interface for a data processing system which utilizes automatically resized panes. As seen in Figure 2 a screen 30 , which may be displayed on display device 23 , has a window 32 having a workspace 33 . Figure 2 illustrates a first set of non-overlapping resizeable panes 34 , 36 and 38 . This plurality of non-overlapping resizeable panes is contained within the workspace 33 of window 32 and occupy substantially the entirety of the workspace. User input received from user input devices 24 , may create or open a new pane, uncover or expose a minimized or existing pane or close or hide an existing pane. Figure 3 illustrates the creation of a new pane. As discussed below, this operation on a pane may be accomplished by a single user input of a check box or other fast path to manipulation of a pane within a window. As seen in Figure 3 , user input has instructed the processor 20 to open a new pane. Thus a second set of panes 34 , 36 , 38 and 39 in window 32 is created. This second set of panes includes the first set of panes 34 , 36 and 38 and the new pane 39 in non-overlapping relationship with each other and without requiring resizing of the new pane 39 or the first set of panes 34 , 36 , and 38 by the user. The reverse operation of closing a pane within the workspace 33 may also be carried out based on user input. In the reverse case, user input from the user input devices 24 selects one of a set of panes. The selected pane is closed and a set of panes comprising the non-selected panes is created. This new set of panes is created such that the remaining panes are in non-overlapping relationship without requiring resizing by the user. The resized non-selected panes occupy substantially the entirety of the workspace 33 . Thus, if the first set of panes is illustrated in Figure 3 , Figure 2 may illustrate the resized panes after one of the panes of Figure 3 is closed. An aspect of the present invention is illustrated in Figures 4 and 5. Figure 4 and Figure 5 illustrate windows within a screen. As seen in Figure 4 , a plurality of icons are provided as contents of a pane. Pane 40 contained within the workspace 33 of window 32 has four icons 42, 44, 46 and 48 . These icons may represent any number of user selectable options, such as, for example, applications, directories, folders or files in a directory structure. The icons 42 , 44, 46 and 48 are contained within pane 40 which also has a title bar 50 with a title 54 which may be utilized to identify the grouping of icons. The pane 40 may also have means for deactivating, hiding or closing the pane such as is illustrated by the check box 52 . Check box 52 allows for a single user input to manipulate the visibility of the pane through either hiding or closing the pane. By selection of a user selectable option, such as with pointing device icon 56 , the user activates a user selectable option which replaces the contents of a pane, such as pane 40 , with contents based upon the user selected option. Accordingly, as illustrated in Figure 5 , selection of the "Recovery" icon 44 has replaced the contents of pane 40 with the Recovery application user interface. As seen in Figure 5 , the title bar 50 of pane 40 now has a title 58 which indicates the "Recovery" application occupies pane 40 . Also, the menu bar 62 and a button bar 64 have been included in pane 40 as part of the "Recovery" user interface. Finally, a dialogue box 60 for the "Recovery" application is illustrated in pane 40 to indicate that the contents of pane 40 is now controlled by the "Recovery" application. In addition to replacing the contents of pane 40 with the recovery application, Figure 5 illustrates the creation of a view stack 66 which contains a view icon 68 . The view stack 66 indicates the contents of pane 40 which have been replaced by selection of a user selectable option. The view icon 68 is associated with the replaced contents such that selection of the view icon 68 would cause the contents of pane 40 to revert to the "Tools" view of Figure 4. Furthermore, any number of previous panes may be reflected in the view stack such that a plurality of icons may be contained in the stack with each icon associated with previous contents of the pane. Optionally, deactivation of a pane by the user selectable check box 52 or its equivalent may remove from the view stack any icon associated with the deactivated contents of the pane. Thus, selection of a user selectable option provides the desired results of that selection to the user without a proliferation of windows. Furthermore, any contents in the path to the topmost contents of the pane are also available to the user in a single operation and may be selectively removed from the stack of views to further reduce the complication and clutter of the interface. Figure 6 illustrates a further user interface for a data processing system. As seen in Figure 6, the contents of pane 40 from Figure 5 have been removed from window 30 and a new window 80 has been created with the workspace 83 of window 80 containing the contents of pane 40 from Figure 5. Thus, the new window 80 has a title bar 82 with a title 84 indicating that the "Recovery" application controls the contents of the workspace 83 of window 80. Furthermore, the menu bar 62, button bar 64 and dialogue box 56 are now removed from pane 40 and reside in window 80. Also, pane 40 has reverted to the underlying contents of Figure 4. Optionally, transfer of the contents of a pane to a new, stand-alone, window may simply close the pane in the original window. Furthermore, if there are no underlying contents of the pane, the pane could also close when the contents are transferred to a new window. Thus, the user may simultaneously display the contents of multiple windows selectively without the proliferation of every window in the path to the desired contents. New window 80 may be created by selecting the contents of pane 40 by user input, such as with a pointing device, and then "dragging" the contents of pane 40 to outside window 32 on screen 30 . This operation creates a new window in a single user operation. As will be appreciated by those of skill in the art, any number of methods of selecting a pane and creating an new window with the contents of the selected pane may be utilized, including, for example, keyboard input, pointing device input or a combination of the two input methods. In a further aspect, the contents of the panes of a window contain related information or related user selectable options. Accordingly, selection of a user selectable option in one pane may cause the contents of a related pane to also change. Furthermore, it is desirable that the panes within a window be resizeable with minimal user input. Accordingly, methods such as those described in United States Patent No. 5,771,042 entitled Multi-size Control for Multiple Adjacent Workspaces may be utilized. Utilizing such methods, the resizing of one pane causes the automatic resizing of other panes within the window so as to maintain their non-overlapping relationship. Figures 7 and 8 are flowchart illustrations of methods, apparatus (systems) and computer program products according to the above examples. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Accordingly, blocks of the flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions. As seen in Figure 7 , a window is created with a plurality of panes 90 . User input is then received as reflected in block 91 . If the user input specified opening a new pane, then as seen in blocks 92 and 94 , a new set of panes is created incorporating the new pane and resizing the existing panes. If the user input specifies the closing or deactivation of a pane, then, as seen in blocks 96 and 98 , a new set of panes is created removing the pane to be closed and with the remaining panes resized to occupy substantially all of the workspace of the created window. Figure 8 illustrates the selection of a user selectable option by user input. When the user selects and icon, as reflected in block 100 , the contents of the pane containing that icon are replaced with the contents associated with that icon. This operation is reflected in block 102 . If there are no underlying layers for the pane, then a view stack does not exist for the pane and one is created, as reflected in blocks 104 and 106. A stack item or view icon is then created and added to the view stack as seen in block 108. As used herein, the terms "open" and "close" when used with regard to a pane within a window refer to operations to make the contents of a pane visible or to hide the contents of a pane. Accordingly, any method known to those of skill in the art to hide a pane, such as minimizing, iconizing or closing a pane may be utilized. Furthermore, any method known to those of skill in the art of making a pane visible, such as creating a pane, opening a pane, or expanding from an iconized or minimized pane may be utilized in practicing the present invention.

Claims: A user interface for a data processing system, the user interface comprising: a window (32) having a workspace (33); a plurality of non-overlapping resizeable panes (34, 36, 38) within said workspace (33) of said window (32); selectable contents contained within at least one of said non-overlapping resizable panes wherein said selectable contents include at least one option icon of user selectable options and wherein selecting said at least one option icon causes contents of said at least one of said non-overlapping resizable panes to be replaced by contents associated with said selected option icon and a view stack associated with said at least one of said non-overlapping resizable panes the contents of which has been replaced, said view stack comprising a viewable display of one or more view icons, wherein: each of said view icons is associated with a previously replaced contents of said associated non-overlapping resizable pane; said viewable display is a visual representation of a stack; and selection of any of said view icons in a path to a top of said stack causes the contents of said associated non-overlapping resizable pane to be replaced by the previously replaced contents associated with said selected view icon in a single operation. A user interface according to Claim 1, wherein said window comprises a first window, said user interface further comprising: means for creating a second window having a workspace; means responsive to user input for selecting one of said plurality of non-overlapping resizeable panes; and means responsive to said means for creating a second window and said means for selecting for placing the contents which correspond to said selected one of said plurality of non-overlapping resizeable panes in said second window. A user interface according to Claim 1, wherein said window comprises a first window, said user interface further comprising: means associated with said plurality of non-overlapping resizeable panes for selecting one of said plurality of non-overlapping resizeable panes; means associated with said selecting means for dragging said selected one of said plurality of non-overlapping resizeable panes to outside said first window; and means associated with said means for selecting and said means for dragging for creating a second window having a workspace the contents of which correspond to said selected and dragged one of said plurality of non-overlapping resizeable panes. A user interface according to any preceding claim, wherein resizing of one of said plurality of resizeable panes causes resizing of other of said resizeable panes. A user interface according to any preceding claim, wherein said plurality of resizeable panes contain related information and wherein selection of the selectable contents of said at least one of said plurality of resizeable panes causes contents of one other of said plurality of resizeable panes to be revised. A method of providing a user interface for a data processing system comprising the steps of: providing a window (32) having a workspace (33); providing a plurality of non-overlapping resizeable panes (34, 36, 38) within said workspace (33) of said window (32); providing selectable contents contained within at least one of said non-overlapping resizable panes wherein said selectable contents include at least one option icon of user selectable options and wherein selecting said at least one option icon causes contents of said at least one of said non-overlapping resizable panes to be replaced by contents associated with said selected option icon and providing a view stack associated with said at least one of said non-overlapping resizable panes the contents of which has been replaced, said view stack comprising a viewable display of one or more view icons, wherein: each of said view icons is associated with a previously replaced contents of said associated non-overlapping resizable pane; said viewable display is a visual representation of a stack; and selection of any of said view icons in a path to a top of said stack causes the contents of said associated non-overlapping resizable pane to be replaced by the previously replaced contents associated with said selected view icon in a single operation. A method according to Claim 6, wherein said window comprises a first window, said method further comprising the steps of: creating a second window having a workspace; selecting one of said plurality of non-overlapping resizeable panes; and placing the contents which correspond to said selected one of said plurality of non-overlapping resizeable panes in said second window. A method according to Claim 6, wherein said window comprises a first window, said method further comprising the steps of: selecting one of said plurality of non-overlapping resizeable panes; obtaining user input indicating that said selected one of said plurality of non-overlapping resizeable panes has been dragged to outside said first window; and creating a second window having a workspace the contents of which correspond to said selected and dragged one of said plurality of non-overlapping resizeable panes. A method according to Claim 6, 7 or 8 further comprising the step of: obtaining user input to resize of one of said plurality of resizeable panes of the first set of panes; then resizing other of said resizeable panes based on the obtained user input. A method of providing a user interface according to claim 6, 7, 8 or 9 further comprising the steps of: selecting the selectable contents (42, 44, 46, 48) contained within at least one of said non-overlapping resizeable panes; then revising the contents of one other of said plurality of resizable panes based on said selection of the selectable contents. A computer-readable storage medium having computer-readable program code means for implementing the method of any of claims 6-10.

Inventors: SANTOS-GOMEZ LUCINIO, SANTOS-GOMEZ, LUCINIO
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1997
Main classification: G06F3
IPC codes: G06F3