MULTIWINDOW CONTROL METHOD AND APPARATUS FOR WORK STATION HAVING MULTIWINDOW FUNCTION

Abstract: An Icon window display area (4-l′) taking preced­ ence over all other display areas is disposed in the display screen (l). A window which becomes invisible at generation of a new window, a window size change of an existing window, or a position change of an existing window is reduced to a predetermined size so as to be displayed in a new Icon window display area.

Description: The present invention relates to an engineering work station to be used for the computer aided design (CAD), the computer aided engineering (CAE), etc. and in particular, to a multiwindow control method and an apparatus using the same for a workstation having a multiwindow function to effect a simultaneous processing of a plurality of processes. The conventional multiwindow control method, as described in the JP-A-60-205492 and JP-A-57-125989, provides a scheme to discriminate visible windows. For example, according to the JP-A-60-205492, a window to which data can be inputted is called a current window and a window to which data cannot be inputted is called a noncurrent window, wherein the window ready for operation is notified to the operator by use of different brightness or luminance between the current windows and the noncurrent window. In the method of the JP-A-57-125989, when multiwindows are overlapped at least in partially, a portion of window into which data will be inputted is distinguished from the other in the such manner that data will be hilighted with white. However, a case where a window is completely covered by other windows and becomes (to be) invisible to the operator has not been considered at all. Namely, according to the prior art technology above, it has not been considered how to process such a window concealed by other windows when a plurality of windows are generated. As a consequence, when a plurality of windows are generated and a window to be processed by the operator is completely concealed by other windows, a window delete or a window a push (a function to set the specified window to the last position among the windows) operation must be effected many times to attain the desired window, which leads to a problem that the operability is greatly deteriorated. Moreover, when a job program associated with the invisible window thus concealed is executed to run, a load is imposed on the CPU of the system, which results in a problem that the performance of the system such as the operability is lowered due to a cause which cannot be recognized by the operator. The present invention therefore seeks to provide a multiwindow control method and an apparatus using the same for a work station having a multiwindow function in which the number of windows generated by the apparatus on which the operator is conducting an operation and the number of programs in the run state are notified to the operator, thereby enabling to set an arbitrary window (or an arbitrary job program) to be an operation objective through a single operation. According to a first aspect of the present invention there is provided a multiwindow control method for use in a workstation having a multiwindow function for display on a display screen comprising the steps of: (a) determining whether or not an existing window in completely concealed by at least one other window, when: (i) a new window is generated; or (ii) the size of a window previously generated is changed; or (iii) the portion of the display screen occupied by a previously generated window is changed; (b) replacing rectangle information representing the display screen portion of said existing window with rectangle information representing a predetermined window, when said existing window is determined to be completely concealed; and (c) displaying said predetermined window in an Icon display area of said display screen, based on said rectangle information representing said predetermined window, said Icon display area having a higher display priority than all other areas on said display screen; whereby said predetermined window is recognisable as representing said existing window when said existing window is completely concealed. According to a second aspect of the present invention there is provided a multiwindow control apparatus for use in a work station having a multiwindow function comprising: a central processing unit for executing an application program; a display controller connected to the said central processing unit via a system bus; an input controller to which input devices such as a keyboard, a tablet, and a mouse are connected; a program memory connected to the central processing unit for storing the application programs effecting a sequence of processings; a private memory for storing control information of windows on a display screen; a display memory controlled by said display controller for storing screen data of a display; and means for determining whether or not an existing window is completely concealed by at least one other window; wherein said private memory includes a window control memory, a display priority control table, and an Icon window control table for controlling a window to be set from an input device via the input controller; a current cursor coordinate value store buffer for indicating an indication point of the input device, and a specified coordinate value store buffer for temporarily storing coordinate values specified from the input device; said window control table includes window information corresponding to n windows, each window information including rectangle information indicating the position of a window on the display screen, status information indicating whether said rectangle information represents an Icon window or a normal window, an address pointer of rectangle information relating to an Icon window and other information. Embodiments of the present invention will now be described in detail, by way of example, with reference to the accompanying drawings, in which: Fig. 1 is a schematic diagram illustrating an example of a display image according to the multiwindow control method of the present invention; Fig. 2 is a schematic block diagram illustrating an example of an apparatus executing the multiwindow control method according to the present invention; FIG. 3 is an explanatory diagram useful for explaining a window control table in a private memory of FIG. 2; FIG. 4a is an explanatory diagram for explaining a display priority control table in the private memory of FIG. 2; FIG. 4b is an explanatory diagram for explaining an Icon window table in the private memory of FIG. 2; FIG. 4c is a schematic diagram illustrating a current cursor coordinate buffer in the private memory of FIG. 2; FIG. 4d is a schematic diagram showing a specified coordinate value store buffer in the private memory of FIG. 2; FIGS. 5a-5c are schematic diagrams illustrating concrete examples of window control according to the present embodiment and the prior art technology; FIGS. 6-8 are flowcharts useful for explaining the operation of the embodiment of FIG. 2; and FIG. 9 is a schematic diagram illustrating an appearance of the apparatus to which the present invention is applied. The present invention will be described with reference to FIG. 2 showing the system configuration diagram of an embodiment of a work station to which the present invention is applied. In this configuration, a keyboard 11, a tablet 12, and a mouse 13 disposed as input devices are connected to a system bus 14 via an input controller 10 of a work station 15. A central processing unit (to be referred to as a CPU herebelow) 5 is connected to the system bus 14. Moreover, in a private memory 8 connected to the CPU, there are stored a window control table 81 for controlling windows to be set from the input devices (11, 12, 13), a display priority control table 82, an Icon window control table 83, a current cursor coordinate value buffer 84 for indicating an indication point from the input devices, and a specified coordinate value store buffer 85 for temporarily storing coordinate values specified from the input devices. In order to increase the execution speed of a sequence of display operations, the private memory 8 is also connected to a display memory 7. Furthermore, the CPU 5 is connected to a program memory 9 for storing programs to execute a sequence of processing. Moreover, the system bus 14 is connected to a display controller 6, which controls the display memory 7 to change the display content on a display 1. FIG. 9 shows an appearance of the apparatus viewed from the user side in which the keyboard 11 and the mouse 13 are used as the input devices. FIG. 3 is a schematic diagram illustrating an example of the window control table 81 stored in the private memory 8. As shows in this diagram, the window control table 81 comprises window information items W₁ - W n (corresponding to n windows). Each of the window information items W₁ - W n is configured with window rectangle information items 81a, 81b, and 81c as specifically shown for the window information W₂. Namely, the window rectangle information 81a includes a rectangle information indicating the position of the window on the display screen, namely, an x coordinate of the lower-left point, a y coordinate of the lower-left point, an x coordinate of the upper-right point, and a y coordinate of the upper-right point, a status information indicating whether the rectangle information is associated with an Icon window or an ordinary window, an address pointer indicating the rectangle information 81b, and other information. The window rectangle information 81b indicated by the address pointer includes an address pointer indicating the window rectangle information 81c and a display rectangle information. Moreover, the window rectangle information 81c is also of the same configuration. That is, the window control table 81 is constituted from n window information items each comprising the window rectangle information items 81a, 81b, and 81c. Each of the window rectangle information items 81a, 81b, and 81c includes a rectangle information related to an ordinary window or a rectangle information associated with an Icon window disposed according to the present invention. For example, the window rectangle information 81a contains a rectangle information concerning an ordinary window, where as the window information items of the window rectangle information items 81b and 81c respectively relate to a first Icon window and a second Icon window disposed according to the present invention. Here, the Icon windows are, as shown in FIG. 1, windows 2-1, 2-2, etc. each having the display priority which cannot be concealed by ordinary windows 4-1, 4-2, etc. in a display screen 100 of the display. For example, when a window 4-3 is additionally displayed in the display screen 100, the existing windows 4-1 and 4-2 are concealed, but the contents of these windows 4-1 and 4-2 are displayed in the Icon windows 2-1 and 2-2. FIG. 4a shows the contents of the display priority control table 82 in the private memory 8, whereas FIG. 4b indicates the Icon window table 83 in the private memory 8. Moreover, FIG. 4c shows the contents of the current cursor coordinate value buffer 84 in the private memory 8, whereas FIG. 4d indicates the specified coordinate value store buffer 85 in the private memory 8. The display priority control table 82 is used to indicate the priority in a case where ordinary windows are displayed in the screen 100, whereas the Icon window table 83 is prepared to store the window numbers corresponding to the window information Wi (i = 1 to n) to be displayed in the m Icon windows disposed according to the present invention. For example, the window information Wi having the number stored in an area assigned with the display priority 1 in the display priority control table 82 takes the highest priority for the display in the screen. In addition, the window information Wi having the window number stored in the area of the Icon 1 window in the Icon window table 83 is displayed in the Icon 1 window. In this embodiment, as shown in FIG. 1, although two Icon windows are provided, the number of Icon windows can be arbitrarily selected. Moreover, the Icon window has a display priority not to be concealed by ordinary windows. The current cursor coordinate value buffer 84 stores the coordinate values currently indicated by one of the input devices such as a mouse and the coordinate values are indicated by a cursor 16 on the display equipment for the user (FIG. 9). In addition, the specified coordinate value store buffer 85 temporarily stores the coordinate values specified by means of an input device such as a mouse. Next, a description will be given of an embodiment of FIG. 2. Assume here a sequence of window generate programs stored in the program memory 9 are being executed by use of the private memory 8 under control of the CPU 5. When the mouse 13 or the tablet 12 is operated, a coordinate value signal representing coordinate values is delivered via the input controller 10 and the system bus 14 to the CPU 5. On receiving the coordinate value signal, the CPU 5 updates the corresponding content of the current cursor coordinate value buffer 84 with the coordinate values thus received and then writes the coordinate values for the cursor in the display memory 7. The cursor thus written in the display memory 7 is displayed on the display 1 to indicate the current cursor indication point to the user. When the user specifies a desired point, the coordinate values associated with the cursor are stored in the specified coordinate value store buffer 85 in the private memory 8. Let us consider a case to generate a new window as shown in FIG. 5a. In the display screen 100 of the display 1, there have already been the windows 4-1 and 4-2 beforehand generated. A new window 4-3 is to be additionally generated on the display screen 100. As shown in FIG. 5a, the new window 4-3 to be generated completely conceals the existing window 4-1 and partially overlaps with the existing window 4-2. A sequence of window control procedures for generating the new window 4-3 will be described by use of FIGS. 5a-5c, the flowcharts of FIGS. 6-8, and the table configuration diagrams of FIGS. 3 and 4a-4d. First, according to the window generate procedure of FIG. 6, processing 91 is executed to obtain the rectangle information of the new window 4-3 to be generated i.e. the coordinate values (X max , Y max ) (X min , Y min ) on the display screen 100 and the window number 4-3. In general, these information items are generally set by the user by means of an input device such as a mouse 13 through an interactive operation. That is, as shown in FIG. 9, the user specifies the diagonal points of an objective window from the mouse 13 disposed as an input device. The coordinate values of these diagonal points specified are stored in the specified coordinate value store buffer 85. Based on the stored coordinate values, the CPU 5 calculates and reads the rectangle coordinate values (x and y coordinate values of the lower-left and upper-right points) of the window 4-3 to be additionally generated (processing 91). Next, processing 92 is executed to check for an overlap with the existing windows 4-1 and 4-2. If no overlap takes place with respect thereto, a window drawing operation is achieved in the display 1 depending on the obtained rectangle information, namely, the rectangle information and the display rectangle information in the window information having the pertinent number in the window control table 81 of FIG. 3 are set to the (X max , Y max ) and (X min , Y min ), respectively. Moreover, the window number is stored in the area having the display priority 1 in the display priority control table 82 of FIG. 4a and then processing 94 is executed to decrease the display priority of the other windows by one, thereby completing the sequence of processing. In the processing 92, if the overlap with other window 4-1 or 4-2 is found as a result of the judgement, control is passed to a window overlap control routine of FIG. 7 in the processing 93. In the window overlap control routine of FIG. 7, it is checked in processing 95 whether or not the pertinent window is completely concealed in the screen. In a case where the window 4-1 is completely concealed, control is transferred to an Icon window generate routine of FIG. 8 in processing 97. In the Icon window generate routine of FIG. 8, processing 98 is first executed to replace the rectangle information of the window 4-1 with the rectangle information of an Icon window area (the rectangle information of the Icon window 4-1′ of FIG. 5b). The processing 98 is effected, for example, by substituting the display rectangle information of the window rectangle information 81b for that of the window rectangle information 81a. Next, in processing 99, the status information of the window rectangle information 81a is set to the Icon value, and then in processing 100, the address pointer of the window rectangle information 81a is cleared to ⊘ (nulls). Moreover, in the processing 100, the window number 4-1 is deleted from the display priority control table 82, and the window number 4-1 is added to the Icon window table 83. As a result, the window 4-1 which is completely concealed in the prior art technology as shown in FIG. 5c is displayed in the form of the Icon window 4-1′ as shown in FIG. 5b. When a partial overlap takes place in the case of the window 4-2 of FIG. 5a, processing 96 of FIG. 7 is executed to alter the display rectangle information and to reduce the priority by one, and then control returns to the processing 94. Furthermore, if the process of the window for which the Icon processing has been effected is in operation, the CPU 5 may execute the highlighting processing to change the display color of the Icon window by means of the display controller 6. In the embodiment above, although the description has been given in a case where the pertinent window becomes invisible as a result of the generation of the new window, the present invention is not restricted by the embodiment but it is also applicable to a case where the window is concealed as a result of an alteration of the window size or a change of the window position. As described above, according to the present invention, the operator can set an arbitrary window to be an operation objective window through a single operation and the state of the apparatus can be visually recognized, which leads to an effect that the man-machine interface is greatly improved.

Claims: A multiwindow control method for use in a workstation having a multiwindow function for display on a display screen comprising the steps of: (a) determining (92,93) whether or not an existing window is completely concealed by at least one other window, when: (i) a new window is generated; or (ii) the size of a window previously generated is changed; or (iii) the portion of the display screen occupied by a previously generated window is changed; (b) replacing (98) rectangle information representing the display screen portion of said existing window with rectangle information representing a predetermined window, when said existing window is determined to be completely concealed; and (c) displaying said predetermined window in an Icon display area (4-1') of said display screen, based on said rectangle information representing said predetermined window, said Icon display area (4-1') having a higher display priority than all other areas on said display screen; whereby said predetermined window is recognisable as representing said existing window when said existing window is completely concealed. A multiwindow control method according to claim 1, wherein, when the execution of a job program corresponding to the window displayed on the Icon window display area (4-1') is completed, the display of the window is changed as compared with a display thereof during the execution of the job program. A multiwindow control method according to claim 2, wherein, when the execution of the job program is completed, the display colour of the window is changed. A window control method according to any of the preceding claims; wherein a new window is generated by: a first step (91) to effect a processing to read coordinate values of the new window; a second step (92) to effect a check processing to determine whether or not the new window overlaps with other at least one window; and a third step (94) operative when the new window is found not to overlap with said other window as a result of the judgement of the second step (92) for drawing the new window based on a rectangle information thereof on the display screen. A multiwindow control method according to claim 4, wherein said third step (94) includes in addition to the step to draw the new window based on a rectangle information thereof on a display: a step for setting a rectangle information of the new window in window information having a window number associated with the new window in a window control table (81) which window control table (81) stores control information for each window; and a step for storing the window number in a display priority area having a highest level in the display priority control table (82) and for decreasing the display priority of the other windows by one. A multiwindow control method according to claim 4 or claim 5, wherein: when the new window is found to overlap with another window as a result of the judgement carried out in the second step, further processing is executed, said further processing including a step (93) for effecting a jump processing to a window overlap control routine (Fig. 7), a step (95) for effecting a judgement to determine whether or not the display of a previously generated window is concealed, executed in the window overlap control routine (Fig. 7); a step (97) to jump to an Icon window generate routine (Fig. 8) when the display of the previously generated window is concealed in the control routine (Fig. 7); and a step (96) to achieve a correction processing on the display rectangle information when the display of the previously generated window is concealed in the control routine (Fig. 7). A multiwindow control apparatus for use in a work station having a multiwindow function comprising: a central processing unit (5) for executing an application program; a display controller (6) connected to the said central processing unit via a system bus (14); an input controller (10) to which input devices such as a keyboard (11), a tablet (12), and a mouse (13) are connected; a program memory (9) connected to the central processing unit for storing the application programs effecting a sequence of processings; a private memory (8) for storing control information of windows on a display screen (1); a display memory (7) controlled by said display controller (6) for storing screen data of a display (1); and means for determining whether or not an existing window is completely concealed by at least one other window; wherein said private memory (8) includes a window control memory (81), a display priority control table (82), and an Icon window control table (83) for controlling a window to be set from an input device via the input controller (10); a current cursor coordinate value store buffer (84) for indicating an indication point of the input device, and a specified coordinate value store buffer (85) for temporarily storing coordinate values specified from the input device; said window control table (81) includes window information (W1-Wn) corresponding to n windows, each window information (e.g. W2) including rectangle information indicating the position of a window on the display screen, status information indicating whether said rectangle information represents an Icon window or a normal window, an address pointer of rectangle information relating to an Icon window and other information (81a). A multiwindow control apparatus according to claim 7, wherein said Icon window control table (83) includes a store area storing numbers of windows corresponding to window information Wi (1 = 1 to n) which are displayed in m Icon windows.

Inventors: FUNYU, YUKIO, KUWANA, TOSHIYUKI, NOGUCHI, YASUHIRO
Applicants: HITACHI, LTD.
Application year: 1987
Main classification: G09G1
IPC codes: G06F17, G06F3, G09G5