A graphical method of processing multiple data blocks

Abstract: A method of processing multiple noncontiguous data blocks within a document is disclosed. A graphical pointing device such as a light pen, computer tablet, mouse pointer, or touch sensitive screen is utilized to designate an initial location and a final location for a plurality of noncontiguous data blocks within a displayed document or set of documents. In response to each designation of a final location for a particular data block that data block is temporarily stored for future processing. In one embodiment of the present invention, the stored data blocks may then be processed utilizing selectable processing commands and the resultant new document may then be displayed to the operator.

Description: BACKGROUND OF THE INVENTION Technical Field This invention relates in general to methods for processing data blocks within a document and more particularly to methods for processing multiple noncontiguous data blocks within documents. Background Art The manipulation, alteration or deletion of data blocks within a computer stored document is well known in the prior art. For example, most word processing programs include processing commands which permit an operator to alter, delete, copy, or move a designated segment or block within a stored document. This is generally accomplished by placing a cursor at the initial location of the desired data block and entering a selected keystroke indicative of data block selection. Next, the cursor is moved to the end of the selected data block and another keystroke is entered indicative of the end of a selected data block. In many known word processing systems the data block thus selected is visually indicated by "highlighting" or a reverse video display of the selected data block. Generally the data block selected in the above referenced manner is then operated on in accordance with a process command which is or has been previously selected by the operator. Additionally, certain systems permit the operator to graphically move or "drag" the designated data block to a second location. In either event, should an operator desire to process more than one noncontiguous data block in this manner, he or she must do so sequentially, by designating each data block individually, operating on that data block and then designating a second data block. There exists no provision in the prior art which permits an operator to simply and easily designate a plurality of data blocks within documents for subsequent processing. IBM Technical Disclosure Bulletin vol.30 n° 9, February 1988, Armonk, US pages 348-350, "Objet picking method by hierarchical hand marking" describes an object picking method for providing an interface to directly and indirectly specify one or more objects to be processed or edited on a display screen. Benutzer Handbuch for Bürokommunikationssyteme A30820-A5803-V10-* -18, SIEMENS AG 1986, pages 16-21 and 16-23 discloses the possibility to select different graphic objects in one document. In view of the above, it should be apparent that a need exists for a method which permits an operator to process multiple noncontiguous data blocks from multiple documents without the necessity of long tedious sequential operations which require many repetitive actions and/or keystrokes by the operator. SUMMARY OF THE INVENTION It is therefore one object of the present invention to provide an improved method for processing multiple data blocks from multiple documents. It is another object of the present invention to provide an improved method for processing multiple noncontiguous data blocks which does not require multiple sequential operations on individual data blocks. It is yet another object of the present invention to provide an improved method for processing multiple noncontiguous data blocks which permits processing and display of the data blocks. The foregoing objects are achieved as is now described. The method of processing multiple noncontiguous data blocks in accordance with the present invention preferably utilizes a graphical pointing device such as light pen, computer tablet, mouse pointer, or touch sensitive screen to designate an initial location and final location for each of a plurality of noncontiguous data blocks within a displayed document or documents. In response to each designation of a final location for an individual data block, that data block is temporarily stored for future processing. More particularly, the stored data blocks are processed utilizing selectable processing commands in accordance with the method defined in claim 1 and the resultant new document is displayed to the operator. 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 objects 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: FIGURE 1 is a flow diagram of the software operations of the graphical method of processing multiple data blocks in accordance with the present invention; FIGURE 2 is a flow diagram of a system initialization operation which may be utilized in accordance with the present invention; FIGURE 3 is a flow diagram of a windowing method of operation which may be utilized in accordance with the invention; FIGURE 4 is a flow diagram of a document display operation which may be utilized in accordance with the present invention; FIGURE 5 is a flow diagram of the data block marking and storage operation utilized in accordance with the present invention; and FIGURE 6 is a flow diagram of the processing operations which may be utilized in accordance with the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT With reference now to the figures, and in particular with reference to Figure 1, there is depicted a flow diagram of the software operations inherent in the method of the present invention. As can be seen, after starting, as indicated in block 10, it is necessary to call the system initialization program, as illustrated by block 12. Referring now to Figure 2, there is depicted a logic flow diagram of a system initialization operation which may be utilized in accordance with the present invention. As is illustrated, system initialization 44 begins by loading the operating system and windowing system as indicated at block 46. Next, it is necessary to allocate memory for the program pointer table and display buffer as illustrated by block 48. Block 50 depicts the initialization of the display buffers and the program pointer table. Finally, blocks 52 and 54 illustrate the location and display of the main menu associated with the system. With reference again to Figure 1, block 14 represents the selection by the operator of a suitable program, such as a word processing program, and block 16 depicts the opening of an appropriate window program, as illustrated in Figure 3. Referring now to Figure 3, the opening of a window program is illustrated. Block 60 illustrates the selection of a particular program, allocation of an appropriate amount of memory and the loading of that program. Next, blocks 62 and 64 depict the opening of a window for the selected program and the displaying of the selected program menu within that window. Referring again to Figure 1, block 18 represents a determination of whether or not a particular document has been selected. Those skilled in the art will appreciate that as utilized herein, the term "document" is utilized to describe any document or record containing multiple blocks of data which may be stored within a computer memory. If a document has been selected, the document display program is called, as illustrated by block 20. With reference now to Figure 4, a flow diagram of a document display program which may be utilized in conjunction with the present invention is depicted. As can be seen, the document display program includes a typing cursor and pointer, as illustrated by block 70 and a "marking pointer" as illustrated by block 72. The marking pointer disclosed herein may be implemented with any graphical pointing device, such as a light pen, computer tablet and stylus, mouse pointer or touch sensitive screen, along with an appropriate screen display identifying the graphical pointing device utilized. Referring once again to Figure 1, block 22 is utilized to determine whether or not the marking pointer has been selected. If not, any normal program operation selected is performed until such time as the operator finishes utilization of the program, as illustrated by blocks 24 and 26. If the marking pointer has been selected, block 28 depicts the allocation of an additional memory space for a marking buffer memory, which is utilized in accordance with the present invention, to temporarily store designated data blocks. Block 30 depicts the tracking of the marking pointer, as it moves through the displayed document or documents, to determine which data blocks are designated for future processing. The designation of a particular data block is accomplished by activating the marking pointer in a manner consistent with the type of graphical pointing device utilized. This activation is referred to in block 32 as the selection of "press and hold". In the event that the marking pointer is not activated (press and hold is not selected), block 34 illustrates the prompting of the operator to activate the marking pointer or select another program option. When the marking pointer has been activated, block 36 depicts the calling of the mark block program. Figure 5 illustrates the mark block program which is utilized in accordance with the method of the present invention. As can be seen, block 78 illustrates the marking of the initial location of a designated data block within the displayed document as identified by the activation of the marking pointer. Block 80 depicts the tracking of the marking pointer and block 82 illustrates the emphasis of the marked portion of the document by reverse video or other appropriate means. As can be seen in block 84, the mark block program may be utilized to track the marking pointer while it is activated, until such time as the activation of the marking pointer is released, as depicted in block 86. After the final location of the a data block has been determined, as indicated by the deactivation of the marking pointer, block 88 illustrates the storage in a marking buffer of the contents of the designated data block. Next, the mark block program returns to block 31 of Figure 1 to determine whether or not a second data block will be designated by the reactivation of the marking pointer by selecting "press and hold" again. Thereafter, a second data block may be designated and stored in accordance with the process described above. After all desired data blocks have been graphically designated and stored in accordance with the method of the present invention, block 38 of Figure 1 determines whether or not the command bar has been selected. Block 40 depicts the calling of the command bar program, as illustrated in Figure 6. Referring now to Figure 6, a flow diagram of a suitable command bar program is depicted. Block 94 of Figure 6 is utilized to determine whether or not an action has been selected for those data blocks stored within the marking buffer (see Figure 5). If not, the selected action parameters are called and completed, as depicted in blocks 96, 98 and 100. When an action parameter is selected for the designated data blocks, block 104 illustrates the selection of a marked data block within the marking buffer by the obtaining of the address within the marking buffer thereof. Blocks 106 and 108 operate to determine which actions are selected and call the action related thereto. Those skilled in the art will appreciate that such actions as "copy", "cut" or "delete" are typical of the actions which may be utilized in accordance with the present invention to process designated data blocks. After all actions have been accomplished, the command bar program will preferably cause the resultant new document to be displayed to the operator. Referring back to Figure 1, block 42 illustrates a final step in the method of the present invention. As can be seen, the user at this point is prompted to deselect the marking pointer or to select another action within the program. In summary, the method of the present invention permits an operator to display documents and graphically designate a plurality of noncontiguous data blocks within those documents in a manner similar to an electronic "highlighter". In this manner, the operator need not operate on each data block individually, but rather can pick and choose selected data blocks from multiple documents and process those data blocks to generate a subsequent document.

Claims: Method for processing multiple data blocks from multiple documents comprising the steps of: a) calling (12) an initialization program in a computer system, said initialization program involving the steps of : a1) loading (46) the operating system and windowing system, a2) allocating memory for a program pointer table and display buffer (48) and initializing said program pointer table and said display buffer (50) ; a3) locating (52) and displaying (54) a main menu associated with the system; b) selecting (14) a program in response to the operator's action and opening (16) an appropriate window program; c) determining (18) whether at least two particular documents comprising multiple blocks of data are being selected by the operator and, in response to said selection, calling a document display program (20) including a typing cursor and pointer (70) and a marking pointer (72), said marking pointer being implemented with any graphical pointing device such as a light pen, computer tablet and stylus, mouse pointer or touch sensitive screen, and displaying said at least two documents (20); d) determining (22) whether said marking pointer has been selected and, in response to said selection allocating (28) additional memory space for a marking buffer memory for temporarily storing designated data blocks; e) tracking (30) said marking pointer as it moves through the at least two displayed documents under control of the operator; to determine which data blocks are designated for future processing, the designation of a particular data block being accomplished by the activation of the marking pointer and, in the absence of any activation prompting (34) the operator to activate the marking pointer or select any program option; f) in response to the activation of the marking pointer, calling (36) a mark block program involving the steps of: f1) marking (block 78) the initial location of a data block to be designated within a displayed document as identified by the activation of the marking pointer; f2) tracking (80) the marking pointer and emphasizing (82) the marked portion of the document, until such time as the activation of the marking pointer is released (86); f3) in response to the disactivation of said marking pointer, storing (88) the contents of the data block designated by said marked portion in said marking buffer; g) at the completion of the mark block program, determining (31) whether an additional data block will be designated by the reactivation of the marking pointer and repeating steps f1-f2-f3 for this additional data block, until all desired data blocks have been designated; h) determining (38) whether a command bar has been selected and, in response to said selection, calling a command bar program (40) that involves the steps of: h1) determining (94) whether or not an action has been selected for those data blocks stored within said marking buffer; h2) if no action has been selected, prompting (100) the user that the action is complete; h3) if an action has been selected for said data blocks processing (106, 108) said data blocks according to said selected action and h4) after all actions have been accomplished, displaying the resultant new document to the operator.

Inventors: TORRES ROBERT J, TORRES, ROBERT J.
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G06F17
IPC codes: G06F17