Editing and reflecting color display attributes of non-active profiles
DESCRIPTION 
     1. Technical Field 
     This invention relates to word processing and computer systems utilizing both display devices and user profiles specifying values for certain system parameters. More particularly, this invention relates to a technique for editing and reflecting display attributes of a non-active user profile while a different user profile remains active. 
     2. Background Art 
     In recent years, there has been a great proliferation in small computer system hardware and in the various functions capable of being performed by such computer systems. Sophisticated applications programs are available to perform word processing, accounting, graphics composition, and data base management tasks. As the sophistication of these programs has increased, the applications&#39; utilization of color cathode ray tube (CRT) display monitors has also greatly increased. The ability to use multiple colors has added a very significant new dimension in the simultaneous presentation of a variety of types of information. 
     As with almost any function capable of varying implementations, it is desirable to allow operators of computer system utilizing color displays a choice of colors for the various foregrounds and backgrounds of the different fields of information to be displayed. One way to provide this capability has been to allow the operator to alter a system profile which includes display parameters. Typically, such a system profile might be directed to a variety of devices in the system. Parameters relative to the keyboard, printer, storage diskette drives, and other devices in addition to the display device are addressed in such a profile. At the time that the values of the various parameters are chosen and saved in such a profile the effect that those values will have in the ultimate preparation and production of a job or performance of a task are not necessarily immediately obvious to the operator. For example, when the operator chooses to have the keyboard perform as an alphanumeric keyboard or a symbol keyboard, it is not immediately apparent to the operator what effect a particular keystroke with the chosen keyboard might have. Similarly, when display attributes are chosen by number, or even by color, but outside the context of the application in which they are to be used, the operator may still have some question about how the particular color choice will be displayed in the environment in which it is chosen to be used. 
     More recently, color display attribute editing has been allowed within a programming application so that the operator can immediately see the effect of the color choices. However, this approach has the two disadvantages of (a) requiring the application to be active to make the color choices and (b) requiring that the color choices stay with the application and be recreated for each application rather than staying with a system profile. 
     Still more recently, it has been suggested to allow editing of a profile and to immediately display the color changes that are made in the profile. Any fields in the profile menu being edited that are analogous to fields which exist in the applications are altered immediately, during editing, so that the operator can observe the effect of the changes in their natural context without being in the application itself. With such an approach, the profile being edited was active with respect to the operation of the system. In other systems allowing the creation or editing of a non-active one of a plurality of multiple profiles, neither the colors associated with the non-active profile being edited, nor the changes made to the colors during editing, were displayed to the operator until that profile was activated. 
     It would, therefore, very significantly increase the usability of a computer system including a color display device to provide ready and immediate access to non-active profiles and allow editing changes to be made while immediately reflecting the effect of these changes in a context comparable to that of the application in which the changes will be utilized. 
     DISCLOSURE OF THE INVENTION 
     Accordingly, in a computer system which allows a plurality of user profiles to exist which address a variety of parameters, the capability is provided to access and edit a profile other than the one which is presently active for the system. Since the active profile, itself, contains fixed or chosen specifications for color attributes, those specifications continue to be honored while editing all sections of the non-active profile being edited except during the editing of the section of the non-active profile which pertains to the display of colors. When editing this section, the color choices made during editing are immediately reflected so that the operator can consider the effect of the choices in a context comparable to that in which the colors will be displayed in the applications, themselves. Immediately upon leaving the panels of the non-active profile pertaining to colors, the display colors revert to those of the active profile. With this technique, not only are the choices made by the operator in editing the colors of a non-active profile immediately apparent, but a comparison of these colors to those of the active profile is readily available by paging back and forth, during this editing session, between the color choice menu panels and the menu panels associated with other system functions. 
     The above solution is accomplished by the use of a display pointer technique in the system that allows multiple tables of color values to exist. By manipulating the pointer, the colors displayed by the system can be immediately changed from the colors of the active profile to the colors of the non-active profile, without actually activating the non-active profile. Thus, during normal system operations, this pointer points to the color values in the active profile. This is also true when entering an editing session relative to a non-active profile. When a non-active profile is to be edited, the tables for the non-active profile overlay the active profile tables in memory. Before the overlay takes place, a copy of the active profile tables are saved in another location of memory. The pointer is changed to point to this copy of the color values which represent the active profile values. During editing of the color values in this non-active profile, the pointer to the color values table is changed to point to the table in the non-active profile. Therefore, the colors displayed at this point in the editing session are the colors of the non-active profile, which allows the operator to see the colors being changed as they would appear in normal operation. Upon completion of the color portion of the editing session, the color values are saved in the non-active profile table, but the pointer is once again changed to the table of the active profile and subsequent menus during this editing session of a non-active profile are displayed in the active profile colors, unless or until the operator once again returns to editing the display colors during this editing session. 
     The foregoing and other objects, features, extensions, and advantages of the invention will be apparent from the fol-owing more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF DRAWING 
     FIG. 1 is a block diagram of the data flow for readying a data processing system for performing editing operations in a non-active profile while another profile remains active. 
     FIGS. 2 and 3 are typical display panels used in choosing particular portions of a profile to be created or edited. 
     FIG. 4 is a block diagram of the data flow in a computer system during editing of a non-active profile while another profile remains active. 
     FIG. 5 is a typical display panel used in a computer system for interactively editing the color parameters of a profile. 
     FIGS. 6 and 7 are block diagrams of the data flow in a computer system during completion of an editing session relative to the color parameters of a non-active profile. 
     FIG. 8 is a block diagram of the data flow in a computer system after the completion of an editing session of a non-active profile and during restoration of the system to its state prior to editing. 
     FIGS. 9a-9e is a programming flow chart which describes the logical operations performed by the system hardware to provide for interactive editing and reflecting color display attributes of non-active profiles. 
    
    
     BEST MODE FOR CARRYING OUT THE INVENTION 
     Beginning with reference to the block diagram of FIG. 1 and the flow chart of FIGS. 9a-9e, a dedicated portion 11 of a computer system random access memory (not shown) stores a profile table in which a number of parameters relative to the operation of both computer system hardware and application software may be specified. For example, within such a profile there may be hardware specifications regarding the type of keyboard to be assumed by the system, the type of printer to be assumed by the system and other such assumptions relative to the input/output devices of the system, including a CRT display. This invention is related to editing of such a profile and has application during editing of the entire profile, including editing related to many other parameters including document formats, document revision, and merging and file tasks. 
     Referring now to the programming flow chart of FIGS. 9a-9e, for an editing session of a non-active profile, at 91 the operation is begun by operator selection of a menu item entitled &#34;Profile Task&#34; from a task selection menu of an application program for the computer system. In FIG. 1, the hardware portion 12 of the currently active profile stored in the dedicated portion 11 of the random access memory is pictorially shown as block 13 in an enlarged format. This hardware portion 12 of the active profile includes a color profile table 12a. At 92 the color profile table 12a, which includes the specifications for foreground and background colors of various fields shown on the display screen when using the application program, is copied into a temporary color profile table buffer 14 in the random access memory. 
     A communication vector table (CVT) 15, also stored in the random access memory, includes a display access method (DAM) color profile table pointer 16. The pointer stored at 16 can be set to point to various locations within the random access memory which the display access method can address to receive one set of data relative to color specifications according to which the display is to be operated, including foreground and background colors of various fields capable of being displayed. Thus, at 93 this pointer 16 is set to point to the color portion of the active profile which is presently being stored at buffer 14. 
     When the above operations have been accomplished, at 94 a &#34;Profile Task&#34; menu panel is displayed to allow the operator to choose to create or revise a profile, to activate a different profile, or to return to the task selection menu panel described above. At 95, assuming the operator has chosen to revise an existing, non-active profile, the operator enters the name of the non-active profile to be revised or edited and, at 96 this non-actrve profile is accessed, typically from a magnetic media storage device. For the purposes of the remainder of this description, it will be assumed that the name entered for the non-active profile to be revised was &#34;LABROSE.UPR&#34;. When this user profile to be edited is accessed from the magnetic media storage it is written into a buffer 18 in the random access memory. 
     At 97, the currently active profile stored at location 11 of the random access memory is copied into a temporary profile tables buffer 17 in the random access memory. Then, at 98 the non-active user profile to be edited is copied from buffer 18 into portion 11 of the random access memory. 
     Next, at 99 a &#34;Create or Revise Profile&#34; menu panel such as the one shown in FIG. 2, is displayed to the operator. At 100, it is assumed that the operator has selected the option &#34;Change Work Station Defaults&#34; and a &#34;Change Work Station Defaults&#34; menu panel, such as the one shown in FIG. 3, is then displayed to the operator at 101. At 102 it is assumed that the operator has chosen option &#34;f&#34; to change the color display description relative to this non-active profile. 
     Referring now to FIG. 1, since the user profile table to be edited is now stored at portion 11 of the random access memory, the color profile portion 12a of the hardware profile 12 is now the user color profile table to be edited, rather than the active color profile table under which the system continues to operate. This user color profile table portion 12a of the hardware profile 12 is also shown in FIG. 4 and is here depicted with reference numeral 12aa. At 103, this user color profile table 12aa is copied into a private DAM color profile table buffer 20. When buffer 20 has been written, the CVT DAM color profile table pointer 16 is reset to now point to the user color profile table now being stored in buffer 20. 
     It will be remembered that prior to 103 in FIG. 9c, the DAM color profile table pointer 16 was set to point to the color profile table stored in buffer 14 which is the color profile table of the active profile under which the system is operating. Only upon selection of the &#34;Change Color Display Description&#34; menu choice at 102 was this DAM color profile table pointer reset to point to a buffer which contains the color profile table of the non-active profile being edited. Continuing then at 104, the &#34;Color Display Description&#34; menu panel is displayed to the operator to allow interactive choices to be made of various color fields as described by the menu panel. At 105, it is assumed that the operator has selected the identifier &#34;a&#34; to change the foreground and background colors for the &#34;main color&#34;. At 106, it is assumed that the operator has chosen to change the main color from a foreground of green and a background of black to a foreground of cyan and a background of blue. Upon depression of the ENTER key, at 107 the private DAM color profile table buffer 20 is immediately updated to reflect the operator&#39;s main color change. Thus, since the DAM color profile table pointer 16 continues to point to this buffer 20 with new values, at 108 the &#34;Color Display Description&#34; menu is now displayed with the new color attributes just chosen by the operator. 
     Assuming now that the operator is satisfied with the change made to the main color in the LABROSE.UPR Profile, the operator again presses the ENTER key at 109. Then, at 110 the final contents of the private DAM color profile table buffer 20 are transferred, as shown in FIG. 6, to the user color profile table portion 12aa of the hardware profile portion 12 of the user profile tables currently resident in portion 11 of the random access memory. Next, as shown in FIG. 7, at 111 the DAM color profile table pointer 16 is again reset to point to the temporary color profile table buffer 14 which, it will be remembered, contains the color specifications of the active profile. At 112 the &#34;Change Work Station Defaults&#34; menu panel of FIG. 3 is presented to the operator for choosing additional items to be changed relative to the LABROSE.UPR profile. However, it will be noted that the foreground and background color of the main color now being displayed to the operator are not those just chosen and saved during editing in the &#34;Color Display Description&#34; menu. Instead, the foreground and background colors of the main color have reverted back to the colors of the currently active profile. This helps remind the operator that a different profile is active other than the one being edited. 
     With the &#34;Change Work Station Defaults&#34; menu panel being displayed, assume that the operator is finished with this menu and, therefore, depresses the ENTER key as stated at 113. This causes the &#34;Create or Revise Profile&#34; menu of FIG. 2 to be displayed as indicated at 114. Next, assume the operator has completed revision of the LABROSE.UPR profile and, therefore, depresses the ENTER key at 115. Referring now to FIG. 8, at 116 the updated, non-active profile presently stored in portion 11 of the random access memory is written to a storage device such as a diskette 25. Then, at 117 the active profile currently stored in the temporary profile tables buffer 17 is rewritten to portion 11 of the random access memory as it existed before the editing operation occurred. The color profile portion 12 of the active profile continues to reside in the temporary color profile table 14 and the DAM color profile table pointer 16 in the CVT continues to point to this buffer 14 which contains the color profile portion of the active profile. Thus, the system has been restored to the state that existed before the profile editing session. 
     The following programming design language listing is another form of the description of the above technique of editing and reflecting the color display attributes of a non-active user profile. This listing parallels the operation described above relative to FIGS. 1-9. 
     
         __________________________________________________________________________
  BEGIN (REFLECTING NON-ACTIVE COLOR                                      
  ATTRIBUTES)                                                             
  Display `Text Task Selection` menu                                      
  IF Profile Tasks application selected, THEN                             
  Copy active color profile table into a                                  
  temporary (active) color profile                                        
  table buffer                                                            
  Set (CVT) DAM color profile table                                       
  pointer to point to the temporary                                       
  color profile table                                                     
  Display `Profile Tasks` menu                                            
  IF Revise Profile function selected, THEN                               
  Display profile name prompt                                             
  IF valid non-active user profile name                                   
  supplied in response to the prompt, THEN                                
  Copy active profile tables into a                                       
  temporary storage buffer                                                
  Read non-active user profile tables                                     
  into the memory location of the                                         
  active profile tables                                                   
  Display `Create or Revise Profile` menu                                 
  IF Change Work Station Defaults                                         
  function selection, THEN                                                
  Display `Change Work Station                                            
  Defaults` menu                                                          
  IF Change Color Display Description                                     
  function selected, THEN                                                 
  Copy user color profile table                                           
  into a private DAM color                                                
  profile table buffer                                                    
  Set (CVT) color profile table                                           
  pointer to point to the private                                         
  DAM color profile table buffer                                          
  Display `Color Display Description`                                     
  menu                                                                    
  IF main color option is chosen, THEN                                    
  IF valid foreground and background                                      
  main color choice is selected,                                          
  THEN                                                                    
  Update DAM color profile table to                                       
  reflect the new main color                                              
  choice                                                                  
  Redisplay `Color Display                                                
  Description` menu in the                                                
  new color attributes                                                    
  IF NULL ENTER key is depressed,                                         
  THEN                                                                    
10.                                                                       
  Copy DAM color profile table                                            
  into the user color profile                                             
  table                                                                   
10.                                                                       
  Set (CVT) DAM color profile                                             
  table pointer to point to the                                           
  temporary (active) color                                                
  profile table buffer                                                    
10.                                                                       
  Display `Change Work Station                                            
  Defaults` menu                                                          
10.                                                                       
  IF NULL ENTER key is depressed,                                         
  THEN                                                                    
  Display `Create or Revise                                               
  Profile` menu                                                           
  IF NULL ENTER key is                                                    
  depressed, THEN                                                         
  Write updated user profile                                              
  tables into the                                                         
  non-active user profile                                                 
  dataset on the media                                                    
  Copy temporary (active)                                                 
  profile tables into the                                                 
  active profile table                                                    
  buffer                                                                  
  Display `Profile Tasks`                                                 
  menu                                                                    
  ENDIF                                                                   
10.                                                                       
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  ENDIF                                                                   
  END (REFLECTING NON-ACTIVE COLOR DISPLAY                                
  ATTRIBUTES)                                                             
__________________________________________________________________________
 
    
     In summary, a computer system organization has been described which allows a plurality of user profiles that address a variety of parameters to be accessed and edited while a different profile continues to be active for the system. The specifications of the active profile continue to drive the system, except that during editing of the color attributes in the non-active profile, those color specifications of the non-user profile are honored for color display purposes only. During such an editing session, as soon as editing of colors has ceased, the color profile portion of the active profile is again honored for the remainder of the profile editing session and during system operation which succeeds the editing session. While this allows the operator immediate feedback to the color editing choices during editing of a non-active profile, it also allows the operator to compare these colors to those of the active profile for potential further editing of the colors. 
     While the invention has been shown and described with reference to particular embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.