Form definition method

Abstract: A computer system has a graphical user interface 100 for the entry of text data in a data store or the display of data therefrom. The interface provides a document form display including at least one data entry field 141 for text entry/display. The system includes a mouse for positioning a cursor on the display under the control of a user, and for accepting user input. A replication symbol 143 is displayed, and the system is responsive to positioning of the cursor on the symbol and to a further control input from the user for replicating one or more data fields.

Description: The present invention relates to a data processing system including a video display terminal, mouse means for positioning a cursor in the video display terminal and providing control inputs to the system, and graphical user interface means for representing a document on the video display terminal. The use of graphical user interface technology to operate data processing equipment is known in the art. Commercially available graphical user interface systems include "WINDOWS", by Microsoft Corporation, and "PRESENTATION MANAGER", by International Business Machines Corporation. By the expression "graphical user interface" is meant a data input/output interface providing a graphical display, including text and associated graphics information, as opposed to a text-only display. Such systems are ideally suited and conventionally adapted for menu-driven operations. That is, they allow a user to control computer operations by selecting commands from one or more menus exhibited on a display without entering statements in alphanumeric form via a keyboard. Selections are made using a mouse or other control device that moves a pointer to an icon image in the display. An icon is a visual symbol graphics display which signifies information and function, for a menu entry. An icon is "selected" by moving a mouse-control pointer or cursor to it and pressing a button on the mouse. In the art, this is referred to as "point-and-click". The invention provides a data processing system including a video display terminal, mouse means for positioning a cursor on the video display terminal and providing control inputs to said system, and graphical user interface means for representing a document on the video display terminal, said document having at least one data field for text entry or display, the data processing system being characterised by: means for generating a symbol on said document representation associated with one or more data fields therein; and replicating means responsive to the cursor being positioned at said symbol and to a replicating control input from said mouse means for replicating the one or more data fields associated with the symbol. The menu-driven computer interface system employs a graphical user interface for the entry of text data in a data store. The system is adapted to receive user inputs for controlling the graphical user interface, which interface provides a document form display including at least one data field for text entry, and at least one data field replication indicator. The system is further adapted to generate a mouse-controlled pointer in the display which is positionable in response to a first control input from a user. The system is responsive to a second control input from a user for commencing a data field replication process for replicating the data field. The dynamically replicable data field display in an otherwise structured form document permits the customization of data input and output by enabling the user to exercise complete control over the number of data fields and data field groups. Such a visually apparent, graphical user interface control system allows a user, by its activation, to create and modify highly structured form documents with one or more replicable entry fields. Thus, where data entry into a data store is desired, structured text forms with duplicatable fields can be used to enter information into the data store and provide various views of that store. Such text forms appear as a document and represent a collection of data entry fields with labels in the main work area of the window (user area). The entry fields are organized into meaningful groups as defined by one or more applications. Modification of the number of existing entry fields and entry field groups are required where a new application requires additional (or fewer) data items or groups of data items. Thus the data entry form possesses the characteristics of both dialogue boxes and text files in that users have entry fields to specify requested data, but are able to tailor the form by dynamically adding additional data entry fields where permitted by the application. This control capability is provided in a visually apparent manner, indicating to the user that data fields can be replicated and suggesting the manner in which that replication can be implemented. Preferably the data processing system further includes means for modifying the color of the symbol in response to the cursor being positioned at said symbol. This provides a clear visual indication to the user that the data field can now be replicated by appropriate input using the mouse. In a preferred embodiment, in which said document representation includes plural display elements, the system further includes means responsive to replication of said data field for repositioning one or more of said display elements in a predetermined direction from said symbol; means responsive to replication of said data field for storing positions of said one or more display elements; and means responsive to the storage of said positions for displaying said display elements at corresponding positions in said document representation. These features ensure the correct appearance of the document after replication has occurred. Preferably the replicating means includes means for displaying a menu including a replication option, said replicating means being responsive to user selection of said replication option to perform the replication. In this situation, the symbol can be regarded as the data field itself. As a result of the cursor being positioned over the data entry field, and appropriate operation of the mouse control buttons, this leads to a drop-down menu, which includes an option to replicate the data field. The use of such a menu option provides an alternative interface to the provision of a dedicated replication symbol. It is also preferred that the data processing system further includes: means for generating a second symbol on said document representation paired with the first symbol and associated with the same one or more data fields as the first symbol; and deleting means responsive to the cursor being positioned at said second symbol and to a deleting control input from said mouse means for deleting replicated versions of the one or more data fields associated with the symbols. This feature provides a mechanism whereby the user can delete replicated versions that are no longer required (although not the base data entry field itself). It is also possible to add an appropriate delete option to the drop-down menu interface described above - indeed, this has the slight advantage in that the user automatically indicates by the cursor position which replicated version of a data field it is desired to delete. The invention also provides a method for controlling input/ouput from a data processing system including a video display terminal, mouse means for positioning a cursor on the video display terminal and providing control inputs to said system, and graphical user interface means for representing a document on the video display terminal, said document having at least one data field for text entry or display, the method comprising the steps of: generating a symbol on said document representation associated with one or more data fields therein; and replicating one or more data fields in response to the cursor being positioned at the associated symbol and to to a replicating control input from the mouse means. An embodiment of the invention will now be described by way of example, with reference to the following diagrams: Figure 1 is a block diagrammatic illustration of a data processing system including components for the provision of a graphic user interface in accordance with the present invention; Figure 2 illustrates a menu-driven graphical user interface display generated including a structured form document with data entry fields and associated data descriptors, wherein several of the data entry fields are replicable in response to a user control input; Figure 3 is a detailed block diagram illustrating additional aspects of the system shown in Figure 1; Figure 4 illustrates the graphical user interface display of Figure 2 in which one of the data entry fields has been replicated; Figure 5 is a flow diagram illustrating a process of duplicating a selected data entry field in the graphical user interface display of Figure 2; Figure 6 illustrates a menu-driven graphical user interface display similar to that of Figures 2 and 4, wherein provision is further made for eliminating duplicated entry fields in response to a user control input; and Figure 7 illustrates a menu-driven graphical user interface as in Figure 6, further including a pull-down menu providing an alternative method for adding or deleting data entry fields. It will be understood that the provision of an adaptive control interface in a digital processing system may be embodied in a variety of system contexts. One such system is illustrated by way of example in Figure 1, wherein a data processing system designated generally as 10 includes a data processing unit 20 of conventional design. An input/output system 30 is arranged in communication with the processing unit 20 and includes a video display terminal 40 with a graphics resolution of at least 1024 x 760 Pixels, a conventional keyboard 50, and a mouse or other cursor control device 60 with at least one input button or switch. The data processing system 10 further includes a data storage resource 70, which may include a conventional disk drive device or other storage system. The data storage resource 70 is provided with plural data storage areas incorporating an applications program module 80, an operating system 90 and a GUI (graphical user interface) data control structure 100. The data processing unit 20 may be selected from any of a number of conventional processor devices, including, but not limited to, processors commonly found in that class of data processing apparatus known as "personal" computers or PCs. The data processing unit 20 operates in conjunction with the operating system 90 to control system hardware operations and program execution. The operating system 90 is of conventional design and may include such well-known products as the DOS or OS/2 operating systems. These operating systems are products of Microsoft Corporation and the International Business Machines Corporation. It is contemplated that any number of commercially available applications programs may be placed in the applications program module 80, including database control programs and other software. Particular advantage may be derived when the system 10 is programmed to operate as a workstation, wherein customer or other data is input using a form display. In that case, the system 10 may be used in lieu of printed forms and manual data entry. Control of the input/output system 30 is provided by the GUI data control structure 100, which directs operations of the data processing unit 20 in response to control signalling from the input/output system 30. The GUI data control structure 100 provides graphical user interface control information to the processor 20 for directing the operation of the video display terminal 40, the keyboard 50 and the mouse 60 to enable a system user to input command instructions and data to the data processing system 10. Referring now to Figure 2, a document form display or window 110 generated by the GUI data control structure 100 is shown. The document display or window 110 is generated in the video display terminal 40 via control information provided by the GUI data control structure 100. The display 110 includes a title block 120 at the top of the display containing information about the application then being executed from the applications program module 30. Below the title block 120 is a command menu bar 130 including plural command menu items for inputing selected control information to the system. As is conventional, the menu bar includes one or more "Action" categories. To access a category, the user performs a conventional "point-and-click" operation using the mouse 60. That is, the user controls the mouse to position a mouse pointer icon over the desired category, and thereafter operates a button on the mouse to register the selection. When an "Action" category is choosen, a "pull-down" menu appears containing one or more commands relating to the category. These may be selectively activated using the point-and-click procedure. The display of Figure 2 further includes a data entry block 140. The entry block 140 has disposed therein a series of data entry fields with associated data descriptors providing various information about an individual. Each data entry field is represented by a rectangle and, preferably, is shaded differently than the display background. One data entry field is labeled "Preposition" and is denoted by reference numeral 141. The display of Figure 2 further includes a plurality of icons in the form of "pushbuttons" disposed in the data entry block 140. The pushbuttons are represented by small rectangles with plus (+) signs therein. One pushbutton 143 is located adjacent the Preposition field 141. The pushbuttons are used for replicating data entry fields associated therewith. As discussed in more detail below, they provide a visual indication to a user that data field replication is available, and also suggest how such replication is implemented and the direction in which replication will occur. Referring now to Figure 3, the GUI data control structure 100 includes a document form display module 150. The display module 150 provides control information to the data processing unit 20 for generating a series of data objects representing components of the display of Figure 2. This information is represented in pseudocode form in Appendix A hereto. The display code of Appendix A, which is preferably implemented using an object-oriented programming language such as SMALLTALK or C++, defines ordered collections or arrays which are used to store the position, size (dimension), type, and contents of entry fields, push buttons and labels. When the form window of Figure 2 is generated, this data may be placed in a volatile storage device 160 associated with the processor 120, and used to refresh the display 110. The volatile storage device may include, for example, random access memory (RAM). As shown in Appendix A, ordered collections are created for each of the labels, data entry fields and pushbuttons. The labels are positioned by the column and row location of the lower left hand corner of the text string. The text string contents of the label are also specified. The entry fields and pushbuttons are positioned by the column and row location of the lower left hand corner and upper right hand corner of the rectangular box representing the entity. In addition, in the case of entry fields, single quotation marks ' ' are used to define a place holder for text entry, and letters A-D are used to define field attributes. The pushbutton arrays are defined to include a plus '+' sign image. The GUI data control structure 100 further includes a data field replication module 170. The replication module 170 includes plural process control elements. These control elements provide control information to the processor 20 to permit the replication of one or more selected data entry fields in the document display of Figure 2, the effects of which are shown in Figure 4. The control elements of the module 170 control the system 10 in accordance with the procedure shown in pseudocode form in Appendix B. The process by which a data entry field is caused to replicate is further shown in the flow diagram of Figure 5. Thus, with reference now to Figures 2-5, together with the pseudocode listing of Appendix B, the data entry fields bearing the data descriptors "Preposition" and "Cardinality" are shown as being selected for replication in Figure 2. To replicate the data entry fields, the user operates the mouse 60 to position a mouse pointer 145 over the pushbutton 143 positioned adjacently below the entry fields. Replication is activated by pressing a button on the mouse. This action is illustrated at step 300 of the flow diagram of Figure 5 and represents the commencement of execution of a data field replication operation. In the data entry field replication module 170, a pushbutton activation determining element 180 controls the processor 20 to continuously sample an input from the mouse 60 to compare the mouse pointer location with the position of entry fields and pushbuttons defined in the display. The processor 20 is controlled to determine whether the mouse pointer is within the rectangle position of a pushbutton, as described by an origin and rectangle. The control information provided by the pushbutton activation determining element 180 for the pushbutton 143 ("Button at: 3") is shown in pseudocode form at line 500 of Appendix B, and is represented by process step 310 in Figure 5. It is understood that equivalent code underlies the other pushbuttons in the data entry block 140. If the mouse pointer 145 is within the pushbutton 143, and the user has depressed a mouse button ("clicked"), a pushbutton highlighting element 190 controls the processor 20 to change the color of the pushbutton 143. The control information provided by the pushbutton highlighting element 190 is shown in pseudocode form at lines 1000-1010 of Appendix B, and is represented by process step 320 in Figure 5. A display repositioning element 200 controls the processor 20 to compare the postitions of the labels, entry fields and pushbuttons in the display with the position of the selected pushbutton. All display elements positioned above the selected pushbutton, including the data entry field to be replicated, are moved upwardly by adding a constant value to the row number of the object's location. The control information provided to the processor 20 by the display repositioning element 200 is shown in pseudocode form at lines 1020-1060 of Appendix B, and is represented by process steps 330 and 340 in Figure 5. When the display elements above the activated pushbutton are upwardly repositioned, a data entry field replication element 210 controls the processor 20 to add a new entry field, or group of entry fields, to the display. The entry fields to be replicated are determined by the application. In Figures 2 and 4, the activated pushbutton causes a replication of the two entry fields 141 and 142 that were above and to the right of the pushbutton in the original display. The new entry fields 147 and 148 in Figure 4 are added to the array in a row adjacently above the pushbutton pressed. The net result, when the display is refreshed/redisplayed, is an upward shift of all items above the selected pushbutton and an insertion of new entry fields in the space provided by the shift. The control information provided by the data entry field replication element 210 is shown in pseudocode form at lines 1070-1090 of Appendix B, and is represented by process step 350 in Figure 5. With the addition of new entry fields, an entry field position storage element 230 controls the processor 20 to store the contents of all filled-in data entry fields repositioned as a result of the replication procedure, along with the new position locations. This information may be conventiently stored in the volatile storage device 160. The control information provided by the position storage element 220 is shown in pseudocode form at line 1100 of Appendix B, and is represented by process step 360 in Figure 5. Thereafter, a re-display element 230 provides control information to the processor 20 to redisplay all labels, entry fields, field contents and pushbuttons in the display. The control information provided by the redisplay element 230 is shown in pseudocode form at line 1110 of Appendix B, and is represented by process step 370 in Figure 5. The replication process is completed in accordance with process step 380 in Figure 5 by scrolling the display window as necessary. In accordance with the apparatus and method above, the user is provided with a form which maintains its initial structure, but which is dynamically extendable by virtue of the user's ability to replicate one or more data entry fields. Advantageously, the system allows direct manipulation by using a pointer-actuated pushbutton icon that serves both as a visual indicator that a data entry field can be replicated and as a input for replicating the entry field in an indicated direction. As shown in Figures 2 and 4, the direction of expansion is indicated by the placement of the pushbutton. If the pushbutton is placed below an entry field, one or more new entry fields are created and positioned downwardly from the (upwardly repositioned) initial field(s). If the pushbutton is positioned on the right side of a data field, replicated fields are added to the right of the initial field. The decision on when and where new fields should be added can be determined by application needs. In addition, pushbuttons may be positioned to replicate fields individually and in groups. Thus, whereas the pushbutton 143 shown as being activated in Figure 2 replicates the two data fields 141 and 142 above and to the right of the pushbutton 143, and corresponding to the label "Children", activation of the lower left hand pushbutton 149 would replicate all of the four data fields 151, 152, 141 and 142 corresponding to the "Children" label. This allows the user to implement nested replications to any desired level of nesting, with each replicated data item being treated as a separate object. An additional control mechanism for adding data entry fields is to use a pull down menu. In addition, control functionality may be further provided for deleting data entry fields added by replication (but not the initial data fields). These control functions are implemented in the display 410 of Figures 6 and 7. The display 410 is similar in many respects to the display 110 of Figures 2 and 4. The display 410 thus includes a title block 420, a command menu bar 430 and a data entry block 440. In addition, as shown in Figure 7, a pull-down menu 450 may be activated for data field replication. To add a data entry field using a pull down menu, the user selects an entry field to be replicated by pointing to the entry field with the mouse and clicking the mouse button. This highlights the entry field. Next, the appropriate menu-bar action is selected by pointing-and-clicking. This action causes a pull-down menu to be displayed as shown in Figure 7. Control structures highlighting selected objects and for activating and displaying pull-down menus are conventional in the art and it will be appreciated that such structures could be readily adapted to generate the pull-down menu 450. With the pull down menu 450 displayed, the user positions the mouse pointer to select a desired action, e.g., the "Add field" action 451, and executes that action by clicking the mouse button. Entry field duplication is then performed in accordance with the process of Figure 5, with several exceptions. These exceptions result from the fact that the use of the menu 450 for entry field replication requires the selection of a data entry field and not a pushbutton, and because menu-based selection permits the embedding of new entry fields in an existing entry field stack. This differs from the pushbutton control method wherein new entry fields can only be added to the end of an entry field stack. Thus, in the process steps shown in Figure 5, the use of the pull-down menu 450 for entry field replication results in the selected entry field becoming the reference point for shifting entry fields, labels and pushbuttons, rather than a selected pushbutton. Controls used to remove entry fields can be implemented by either a remove button 460 with associated minus (-) sign, as shown in Figure 6, or by selecting and highlighting the field to be removed and requesting the "Remove field" action 452 shown in the pull-down menu 450 of Figure 7. The pushbutton control method removes the last entry on the entry field stack while the selection method permits selecting entry fields anywhere in the stack other than the initial entry fields. In all cases, the initial entry fields are not removed. In respect to the process steps of Figure 5, the entry field removal process works in similar fashion except that the origins for the locations of items above the deleted field are shifted downwardly by subtracting rather than adding units to the y coordinate. Advantageously, the availability of data field replication and removal functions is visually suggested by the use of plus (+) and minus (-) signs in the pushbutton images. This takes advantage of accepted "+" and "-" arithmetic convention to indicate that something can be added or taken away. It will be understood that modifications and adaptations to the described systems will naturally occur to persons skilled in the art. For example, the control system provided by the GUI data control structure could be located within the applications module 80, although it is generally desirable that this system be located to provide input/ouput and graphical user interface services for all applications.

Claims: A data processing system including a video display terminal (40), mouse means (60) for positioning a cursor on the video display terminal and providing control inputs to said system, and graphical user interface means (100) for representing a document on the video display terminal, said document having at least one data field for text entry or display, the data processing system being characterised by: means for generating a symbol (143) on said document representation associated with one or more data fields (141) therein; and replicating means (170) responsive to the cursor being positioned at said symbol and to a replicating control input from said mouse means for replicating the one or more data fields associated with the symbol. The data processing system of claim 1 further including means (190) for modifying the color of the symbol in response to the cursor being positioned at said symbol. The data processing system of claim 1 or 2, wherein said document representation includes plural display elements and said system further includes means (200) responsive to replication of said data field for repositioning one or more of said display elements in a predetermined direction from said symbol. The data processing system of claim 3 further including means (220) responsive to replication of said data field for storing positions of said one or more display elements. The data processing system of claim 4 further including means (230) responsive to the storage of said positions for displaying said display elements at corresponding positions in said document representation. The data processing system of any preceding claim, wherein the replicating means includes means for displaying a menu (450) including a replication option (451), said replicating means being responsive to user selection of said replication option to perform the replication. The data processing system of any preceding claim, further including: means for generating a second symbol (460) on said document representation paired with the first symbol and associated with the same one or more data fields as the first symbol; and deleting means responsive to the cursor being positioned at said second symbol and to a deleting control input from said mouse means for deleting replicated versions of the one or more data fields associated with the symbols. A method for controlling input/ouput from a data processing system including a video display terminal (40), mouse means (60) for positioning a cursor on the video display terminal and providing control inputs to said system, and graphical user interface means (100) for representing a document on the video display terminal, said document having at least one data field for text entry or display, the method comprising the steps of: generating a symbol (143) on said document representation associated with on or more data fields (141) therein; and replicating one or more data fields in response to the cursor being positioned at the associated symbol and to to a replicating control input from the mouse means.

Inventors: GLASER HOWARD JUSTIN, STRAIN JOANNA MARY, TUCKEY-SMITH ANGUS TREVOR, GLASER, HOWARD JUSTIN, STRAIN, JOANNA MARY, TUCKEY-SMITH, ANGUS TREVOR
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1992
Main classification: G06F3
IPC codes: G06F3, G06F17