WO2023112852A1 - 履歴管理プログラム、履歴管理方法、及び履歴管理装置 - Google Patents

履歴管理プログラム、履歴管理方法、及び履歴管理装置 Download PDF

Info

Publication number
WO2023112852A1
WO2023112852A1 PCT/JP2022/045434 JP2022045434W WO2023112852A1 WO 2023112852 A1 WO2023112852 A1 WO 2023112852A1 JP 2022045434 W JP2022045434 W JP 2022045434W WO 2023112852 A1 WO2023112852 A1 WO 2023112852A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
undo
display content
input operation
code
Prior art date
Application number
PCT/JP2022/045434
Other languages
English (en)
French (fr)
Inventor
康博 工藤
雄磨 上田
Original Assignee
ブラザー工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブラザー工業株式会社 filed Critical ブラザー工業株式会社
Priority to EP22907379.6A priority Critical patent/EP4451169A1/en
Publication of WO2023112852A1 publication Critical patent/WO2023112852A1/ja
Priority to US18/742,285 priority patent/US20240330573A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Definitions

  • the present invention relates to a history management program, a history management method, and a history management device.
  • a device that stores an operation history in a storage unit when an operation is performed to input, change, or delete characters or images.
  • stroke data of character strings input by handwriting are stored in the stroke data storage unit in the order of operation.
  • the function to undo the last operation and return it to its original state is commonly known as the UNDO function.
  • an undo function is realized by a device that stores information indicating an addition operation for newly adding a character or an image (hereinafter referred to as "addition operation information") as history information in the order of operation.
  • additional operation information information indicating an addition operation for newly adding a character or an image
  • the UNDO function can be realized by referring to one piece of additional operation information in the reverse order of the operation order from the stored history information and canceling the additional operation indicated by the referred additional operation information.
  • a change operation to change entered characters or images, or a delete operation to delete entered characters or images may be performed together with an add operation.
  • the history information includes not only the adding operation information but also the changing operation information indicating the changing operation and the deleting operation information indicating the deleting operation.
  • the UNDO function it may not be possible to undo the last operation and restore the original state with only one piece of operation information referenced from the history information in the reverse order of the operation. .
  • history information in which operation information is stored in the order of operation it may be necessary to refer to a plurality of pieces of operation information to realize the UNDO function, which is inefficient.
  • An object of the present invention is to provide a history management program, a history management method, and a history management device for efficiently realizing the function of canceling the operation performed immediately before and restoring the original state.
  • a history management program includes: a first receiving step of receiving an input operation for updating display content of a display unit; and updating in accordance with the input operation received by the first receiving step.
  • a first storage step of storing the display content in a storage unit as the latest display content, and a third step of determining an undo process necessary to return the latest display content to the display content before update, which is the display content before updating.
  • a second memory for associating the first determining step and the UNDO processing determined by the first determining step with the operation order, which is the order of the input operations received by the first receiving step, and storing the same in the storage unit as history information. and a computer to execute the steps.
  • the computer When the computer executing the history management program receives an instruction to execute the undo function that cancels the operation performed immediately before and restores the original display state, the computer refers to the history information and selects undo in the reverse order of the operation order.
  • the UNDO function can be realized by executing the process. Therefore, the computer can implement the UNDO function without referring to a plurality of pieces of information stored as history information, so that the UNDO function can be implemented efficiently.
  • a history management method includes: a first receiving step of receiving an input operation for updating display content of a display unit; A first storage step of storing the display content in a storage unit as the latest display content, and a third step of determining an undo process necessary to return the latest display content to the display content before update, which is the display content before updating.
  • a history management device includes a display unit, first reception means for receiving an input operation for updating display content displayed on the display unit, and the input operation received by the first reception unit.
  • first storage means for storing the display content updated according to the input operation in a storage unit as the latest display content; a first determining means for determining a necessary UNDO process; and the UNDO process determined by the first determining means is associated with the order of operations, which is the order of the input operations received by the first receiving means, and is used as history information.
  • second storage means for storing in the storage unit.
  • FIG. 1 is a diagram showing an outline of a display device 3 and an electrical configuration
  • FIG. FIG. 4 is a diagram showing history information Ud stored by a conventional method; It is a figure which shows the history information Us memorize
  • 4 is a flowchart showing first flag control processing; 4 is a flowchart showing first main processing;
  • FIG. 7 is a flowchart showing the first main process, continued from FIG. 6;
  • FIG. FIG. 8 is a flowchart showing the first main process, continued from FIG. 7;
  • FIG. 1 is a diagram showing an overview of a communication system 1 and an electrical configuration of a server device 2;
  • FIG. 3 is a diagram showing a communication sequence in the communication system 1;
  • FIG. 9 is a flowchart showing second flag control processing; 9 is a flowchart showing second main processing; FIG. 14 is a flowchart showing the second main process, continued from FIG. 13; FIG. FIG. 15 is a flowchart showing the second main process, continued from FIG. 14; FIG. FIG. 16 is a flowchart showing the second main process, continued from FIG. 15; FIG.
  • the display device 3 is a known tablet terminal.
  • the display device 3 has a CPU 31 , a ROM 32A, a RAM 32B, a flash memory 32C, a display section 33 , an input section 34 and a communication interface (I/F) 35 .
  • I/F communication interface
  • the CPU 31 controls the overall control of the display device 3.
  • the ROM 32A stores a boot program and initial setting information. Data is temporarily stored in the RAM 32B while the CPU 31 executes processing.
  • the flash memory 32C stores a control program to be executed by the CPU 31, data codes Cm and Ch described later, history information Us, and the like.
  • the display unit 33 is a liquid crystal display.
  • the input unit 34 is a touch panel provided on the surface of the display unit 33 .
  • the communication I/F 35 is a communication module for communicating with the server device 2 (see FIG. 9) via a network line 4 and an access point 4A (see FIG. 9) which will be described later.
  • FIGS. 2 and 3 show the latest display content of the display unit 33 after each input operation, the data code Cm indicating the latest display content, and the history information Ud (see FIG. 2) and Us (see FIG. 3). It is In FIGS. 2 and 3, a plurality of common input operations are performed in order.
  • the data code Cm is described in JSON format and is the same in FIGS. 2 and 3, the history information Ud and Us are different from each other.
  • history information Ud stored in a conventional manner is shown for comparison.
  • FIG. 3 shows history information Us stored by the method in this embodiment.
  • an input operation is performed to add and display a new image (character string "Hi!) on the 0th line of the display section 33.
  • FIG. An input operation for adding and displaying a new image is hereinafter referred to as an "addition operation".
  • the command "remove” indicating that the image is to be deleted, the type "text”, and the instruction code “remove/text/1” including the line "1" from which the image is to be deleted are executed.
  • the first line of the data code Cm is deleted as shown in FIG. 2(E).
  • the character string "Bye! (see FIG. 2D) displayed on the first line of the display section 33 is deleted, and the display contents are updated.
  • the executed instruction code "remove/text/1" is newly added to the history information Ud.
  • the operation order "004" is associated with the added instruction code "remove/text/1".
  • the history information Us is stored in a method different from the first example shown in FIG. Details are as follows.
  • the instruction code required to return the display content after updating (see FIG. 3(B)) to the display content before updating (see FIG. 3(A)) is determined. Specifically, it is as follows. In order to return the display contents after the update shown in FIG. 3B to the display information before the update shown in FIG. 3A, the character string "Hi! Delete it. Therefore, the instruction code "remove/text/0" including the command “remove”, the type "text”, and the line "0" is determined. The determined instruction code is newly added to the history information Us. The operation order "001" is associated with the added instruction code "remove/text/0".
  • the instruction code required to return the display content after updating (see FIG. 3(C)) to the display content before updating (see FIG. 3(B)) is determined. Specifically, it is as follows. In order to return the display contents after the update shown in FIG. 3C to the display information before the update shown in FIG. 3B, the character string "Bye! Delete it. Therefore, the instruction code "remove/text/1" including the command “remove”, the type "text", and the line "1" is determined. The determined instruction code is newly added to the history information Us. The operation order "002" is associated with the added instruction code "remove/text/1".
  • the instruction code required to restore the display content after updating (see FIG. 3(D)) to the display content before updating (see FIG. 3(C)) is determined. Specifically, it is as follows. In order to return the display contents after the update shown in FIG. 3D to the display information before the update shown in FIG. 3C, the character string "Hello! It should be changed to the character string "Hi!. Therefore, the command "replace", the type "text", the line "0", and the instruction code "replace/text/0 "Hi! including the character string "Hi! "” is determined. The determined instruction code is newly added to the history information Us. The added instruction code "replace/text/0" Hi! " " is associated with the operation order "003".
  • the instruction code required to restore the display content after updating (see FIG. 3(E)) to the display content before updating (see FIG. 3(D)) is determined. Specifically, it is as follows. In order to return the display contents after the update shown in FIG. 3E to the display information before the update shown in FIG. should be displayed. Therefore, the command “add”, the type “text”, the line “1”, and the instruction code “add/text/1 "Bye! including the character string "Bye! "” is determined. The determined instruction code is newly added to the history information Us. The added instruction code "add/text/1" Bye! " " is associated with the operation order "004".
  • FIG. 4 shows in detail the display screen 5A displayed on the display unit 33 of the display device 3.
  • the display screen 5 ⁇ /b>A includes a main area 51 , an operation history area 52 , a save button 53 , an UNDO button 54 and a REDO button 55 .
  • FIG. 4 shows a state after a series of input operations (add operation, add operation, change operation, delete operation) shown in FIGS. 3(A) to 3(E) are executed.
  • test display content An image corresponding to the input operation is displayed in the main area 51 .
  • the display content of the main area 51 (hereinafter referred to as “latest display content”) is specified based on the data code Cm (see FIG. 3) stored in the flash memory 32C.
  • operation history area 52 information indicating a plurality of executed input operations (hereinafter referred to as "input operation items”) is displayed in the order in which the input operations were executed.
  • input operation items information indicating a plurality of executed input operations
  • the display contents of the operation history area 52 are specified based on the data code Ch stored in the flash memory 32C.
  • Data code Ch is determined based on history information Us.
  • selection operation the user can delete the selected input operation item from the operation history area 52 by touching and selecting any of the input operation items in the operation history area 52 and performing an operation to maintain this state.
  • this operation will be referred to as "selection operation”.
  • the save button 53 is a selection button for saving a file showing the contents of the latest display in the flash memory 32C.
  • An input operation for selecting the save button 53 is hereinafter referred to as a "save operation”.
  • the UNDO button 54 is a selection button for canceling the addition operation, change operation, and deletion operation in the order opposite to the order in which the input operations were performed.
  • An input operation for selecting the UNDO button 54 is hereinafter referred to as an "UNDO operation".
  • the UNDO operation When the UNDO operation is performed, the latest display contents of the main area 51 are changed from the display contents after the addition operation, the change operation, and the deletion operation are performed to the display contents before the addition operation, the change operation, and the deletion operation are performed. display content.
  • the display device 3 can implement the operation of updating the latest display contents of the main area 51 according to the UNDO operation by executing the instruction code stored in the history information Us as it is.
  • the REDO button 55 is a selection button for canceling the input operation for selecting the UNDO button 54 .
  • An input operation for selecting the REDO button 55 is hereinafter referred to as a "REDO operation".
  • the first flag control process controls a flag for determining the timing of updating the history information Us by adding an instruction code.
  • the flags are stored in RAM 32B.
  • the flag is referred to in the first main process (see FIGS. 6-8) to be described later.
  • the CPU 31 reads and executes the control program stored in the flash memory 32C. is started by The flag is 0 at the start of the first flag control process.
  • setting the flag to 0 is referred to as "turning off the flag”
  • setting the flag to 1 is referred to as "turning on the flag”.
  • the CPU 31 determines whether a save operation on the display screen 5A has been detected (S1). When the CPU 31 detects a save operation (S1: YES), the CPU 31 turns on the flag (S3). The CPU 31 returns the process to S1.
  • the process proceeds to S5.
  • the CPU 31 determines whether the flag is OFF (S5). When the CPU 31 determines that the flag is ON (S5: NO), the process returns to S1.
  • the CPU 31 determines that the flag is OFF (S5: YES)
  • the CPU 31 determines whether or not the second period or more has passed while the flag is OFF and no input operation is detected (S3).
  • the CPU 31 determines that the second period or longer has elapsed while the flag is OFF and no input operation is detected (S7: YES)
  • the CPU 31 turns the flag ON (S3). The CPU 31 returns the process to S1.
  • the first main processing will be described with reference to FIGS. 6 to 8.
  • FIG. 1 when the power of the display device 3 is turned on, when an operation for starting an application for displaying the display screen 5A is executed via the input unit 34, the data is stored in the flash memory 32C. It is started when the CPU 31 reads out and executes the control program. The first main process is executed in parallel with the first flag control process. At the start of the first main process, 0 is set to the variable i stored in the RAM 32B.
  • the display content displayed in the main area 51 of the display screen 5A will be referred to as "latest display content”.
  • An instruction code for updating the latest display contents according to an input operation is called a "DO code”.
  • the latest display content before being updated by the DO code is called “pre-update display content”
  • the latest display content after being updated by the DO code is called “post-update display content”.
  • An instruction code required to restore the post-update display content to the pre-update display content is called an "UNDO code”.
  • the CPU 31 determines whether an input operation on the input unit 34 has been detected (S11). When the CPU 31 determines that the input operation is not detected (S11: NO), the process proceeds to S25. When an input operation is detected (S11: YES), the CPU 31 determines whether the detected input operation is an addition operation, a change operation, or a deletion operation (S13).
  • the CPU 31 determines that the detected input operation is any one of an addition operation, a change operation, and a deletion operation (S13: YES), it updates the variable i by adding 1 (S15).
  • the CPU 31 identifies DO codes corresponding to the detected addition operation, change operation, and deletion operation (S17).
  • CPU 31 updates data code Cm by executing the identified DO code, and stores it in flash memory 32C (S19).
  • the CPU 31 updates the latest display contents of the main area 51 of the display screen 5A based on the data code Cm stored in the flash memory 32C (S21).
  • the CPU 31 associates the variable i with the DO code and temporarily stores it in the RAM 32B (S23).
  • the CPU 31 determines whether the flag stored in the RAM 32B is ON (S25).
  • CPU31 returns a process to S11, when a flag is OFF (S25:NO).
  • the CPU 31 repeats the processing of S11 to S23 until the flag is turned ON.
  • the variable i is updated (S15)
  • the DO code is specified (S17)
  • the data code Cm is updated and stored (S19)
  • the latest display contents are updated (S21).
  • the temporary storage of the DO code (S23) are repeated.
  • the CPU 31 determines that the flag stored in the RAM 32B is ON (S25: YES), it turns the flag OFF (S27).
  • the CPU 31 acquires the DO code stored in the RAM 32B by the process of S23. Note that in the first flag control process (see FIG. 5), if an input operation to select the save button 53 is detected (S1: YES), or if a second period or more has passed without an input operation being detected (S7: YES), the flag is turned ON (S3). Therefore, the CPU 31 acquires the DO code stored in the RAM 32B during the first period from the start timing to the end timing described below.
  • the start timing is the timing at which the period during which the input operation is not accepted has passed the second period, or the timing at which the save operation is detected.
  • the end timing is the timing at which the period during which the input operation is not accepted after the start timing has passed for a second period, or the timing at which the save operation is detected after the start timing.
  • the CPU 31 determines, for each acquired DO code, an UNDO code, which is an instruction code necessary to restore the post-update display content to the pre-update display content (S29).
  • the CPU 31 associates the variable i associated with the DO code referred to when determining the UNDO code with the UNDO code as an operation order, and additionally stores it in the history information Us of the flash memory 32C (S31).
  • the CPU 31 executes the above process for all the stored DO codes. After that, the CPU 31 deletes all DO codes stored in the RAM 32B.
  • the CPU 31 acquires the UNDO code from the history information Us stored in the flash memory 32C. Based on the acquired UNDO code and data code Cm, the CPU 31 identifies, for each acquired UNDO code, a DO code necessary for updating the pre-update display content to the post-update display content (S33). In order to display the input operation items corresponding to the specified DO code in the same order as the operation order associated with the UNDO code referred to when specifying the DO code, the CPU 31 displays the operation history area 52 of the display screen 5A. The data code Ch indicating the display content is updated (S35). The CPU 31 updates the display contents of the operation history area 52 of the display screen 5A based on the updated data code Ch (S37). The order of the input operation items displayed in the operation history area 52 corresponds to the order of the corresponding input operations. The CPU 31 returns the process to S11.
  • the CPU 31 updates the variable i by subtracting 1 (S43).
  • the CPU 31 selects an UNDO code associated with the operation order that matches the variable i from the history information Us stored in the flash memory 32C (S45).
  • CPU 31 updates data code Cm by executing the selected UNDO code, and stores it in flash memory 32C (S47).
  • the CPU 31 updates the latest display contents of the main area 51 of the display screen 5A based on the data code Cm stored in the flash memory 32C (S49). As a result, the latest display content in the main area 51 is returned from the post-update display content to the pre-update display content. Also, the display content before updating is stored in the flash memory 32C as the data code Cm indicating the latest display content.
  • the CPU 31 returns the process to S11.
  • the CPU 31 determines whether the detected input operation is not the UNDO operation (S41: NO). When the CPU 31 determines whether the detected input operation is the selection operation (S51). When the CPU 31 determines that it is a selection operation (S51: YES), the process proceeds to S53.
  • the CPU 31 updates the data code Ch stored in the flash memory 32C so that the selected input operation item is deleted from the operation history area 52 of the display screen 5A (S53).
  • the CPU 31 updates the display contents of the operation history area 52 based on the updated data code Ch (S55). As a result, the input operation item selected according to the selection operation is deleted from the operation history area 52 .
  • the CPU 31 identifies the DO code corresponding to the input operation item deleted from the operation history area 52, and further, based on the identified DO code, determines the UNDO code for restoring the post-update display content to the pre-update display content ( S57).
  • the CPU 31 deletes the determined UNDO code from the UNDO codes of the history information Us (S59).
  • the CPU 31 returns the process to S11 (see FIG. 6).
  • the process proceeds to S61 (see FIG. 8). As shown in FIG. 8, the CPU 31 determines whether the detected input operation is the REDO operation (S61). When the CPU 31 determines that it is a REDO operation (S61: YES), the process proceeds to S65.
  • the CPU 31 selects the UNDO code associated with the operation order that matches the variable i from the history information Us stored in the flash memory 32C (S65). Based on the selected UNDO code, the CPU 31 identifies the DO code required to update the pre-update display content to the post-update display content (S67).
  • the specified DO code corresponds to an instruction code necessary for canceling the UNDO operation in response to the REDO operation and returning the latest display contents of the main area 51 to the state before the UNDO operation.
  • CPU 31 updates data code Cm by executing the identified DO code, and stores it in flash memory 32C (S69).
  • the CPU 31 updates the latest display contents of the main area 51 of the display screen 5A based on the data code Cm stored in the flash memory 32C (S71). As a result, the latest display contents in the main area 51 and the pre-update display contents updated by the UNDO operation are returned to the post-update display contents. Further, the updated display contents are stored in the flash memory 32C as the data code Cm indicating the latest display contents.
  • the CPU 31 updates the variable i by adding 1 (S73). The CPU 31 returns the process to S11 (see FIG. 6).
  • the CPU 31 determines that the detected input operation is not the REDO operation (S61: NO), it executes a process corresponding to the input operation (S81), and returns the process to S11 (see FIG. 6).
  • the display device 3 When receiving an UNDO operation (S41: YES), the display device 3 refers to the history information Us and selects an UNDO code in reverse order to the operation order (S43, S45). By executing the selected UNDO code as it is, the display device 3 can execute a function (UNDO function) of canceling the addition operation, change operation, and deletion operation and restoring the original display contents. Therefore, the display device 3 can implement the UNDO function without referring to the plurality of instruction codes stored in the history information Us, so that the UNDO function can be implemented efficiently.
  • UNDO function the display device 3 can implement the UNDO function without referring to the plurality of instruction codes stored in the history information Us, so that the UNDO function can be implemented efficiently.
  • the display device 3 When the display device 3 receives an UNDO operation (S41: YES), it executes the UNDO code of the history information Us as it is to update the data code Cm (S47). As a result, the latest display content in the main area 51 of the display screen 5A is returned from the post-update display content to the original pre-update display content (S49). Therefore, the user of the display device 3 can cause the display device 3 to perform the UNDO function by performing an UNDO operation via the input unit 34 .
  • the display device 3 identifies the DO code required to update the pre-update display content to the post-update display content based on the UNDO code of the history information Us (S33).
  • the display device 3 displays the input operation items corresponding to the identified DO code in the operation history area 52 of the display screen 5A in the order of the input operations (S37). Therefore, the user can grasp the history of input operations by visually recognizing the input operation items displayed in the order of operation in the operation history area 52 .
  • the display device 3 When the display device 3 receives a selection operation for selecting an input operation item displayed in the operation history area 52 (S51: YES), the display device 3 deletes the selected input operation item from the operation history area 52 (S55), and , the corresponding UNDO code is deleted from the history information Us (S59). Therefore, the user can ensure the remaining capacity by reducing the storage capacity of the display device 3 .
  • the display device 3 stores at least one DO code in the RAM 32B based on at least one input operation performed during the first period. (S23).
  • the display device 3 determines an UNDO code based on at least one DO code stored in the RAM 32B (S29), and stores it in addition to the history information Us (S31).
  • the display device 3 can reduce the processing load on the CPU 31 by suppressing the frequency of processing for determining the UNDO code.
  • the display device 3 can determine an UNDO code and store it in the history information Us when the period during which no input operation is accepted has passed the second period, or when a save operation has been performed.
  • the display device When the display device accepts an add operation, a change operation, and a delete operation as input operations (S13: YES), it can determine an UNDO code and update the history information Us.
  • the present invention is not limited to the first embodiment, and various modifications are possible.
  • the image displayed on the display unit 33 is not limited to a character string, and may be a figure or the like.
  • the format of the data code Cm is not limited to the JSON format, and may be another format.
  • the display device 3 may manage the latest display contents of the main area 51 using data in another format.
  • the display device 3 may add to the history information Us a DO code, which is an instruction code for updating the latest display contents according to the addition operation, change operation, and deletion operation, in association with the UNDO code.
  • the UNDO code may be further associated with the date and time when the corresponding input operation was performed, comment information accompanying the corresponding input operation, and the like, and added to the history information Us.
  • the display device 3 may accept an UNDO operation while two or more input operation items in the operation history area 52 are selected. In this case, the display device 3 may select two or more corresponding UNDO codes from the history information Us based on the two or more selected input operation items. The display device 3 may execute the selected two or more UNDO codes in the order opposite to the input order. As a result, the display device 3 may perform an UNDO function for canceling a plurality of addition operations, change operations, and deletion operations at once to restore the original display contents.
  • the input operation items displayed in the operation history area 52 of the display screen 5A may be arranged from bottom to top in order of operation.
  • the input operation item may be associated with other information in addition to the content of the operation (addition/change/deletion) and the image to be operated.
  • the input operation item may be associated with the date and time when the input operation was performed.
  • the operation history area 52 may be displayed in response to an operation to select the UNDO button 54 or the REDO button 55.
  • An upper limit for the number of input operation items that can be displayed in the operation history area 52 may be defined in advance.
  • the display device 3 may leave the input operation items for the upper limit in the operation order and select and delete the rest. . Further, the display device 3 may delete the UNDO code corresponding to the deleted input operation item from the history information Us.
  • the timing at which the display device 3 updates the history information Us is not limited to that of the first embodiment.
  • the display device 3 may turn on the flag at a predetermined cycle. Further, the display device 3 may turn on the flag when the processing load of the CPU 31 becomes equal to or less than a predetermined level. Moreover, the display device 3 may turn on the flag when the addition operation, the change operation, and the deletion operation are performed a predetermined number of times.
  • the display device 3 may determine an UNDO code and add it to the history information Us each time an add operation, a change operation, and a delete operation are performed.
  • the display device 3 may determine the corresponding UNDO code and add it to the history information Us even when an input operation other than the addition operation, the change operation, and the deletion operation is received. For example, the display device 3 can perform an operation of moving the image displayed in the main area 51, an operation of enlarging or reducing the size of the image, an operation of changing the color of the image, an operation of changing the format (font) of the image, and the like. If so, the corresponding UNDO code may be determined and added to the history information Us.
  • the data code Cm is an example of the "latest display content” of the present invention.
  • the UNDO code is an example of "UNDO processing" of the present invention.
  • the process of S13 is an example of the "first receiving step” of the present invention.
  • the process of S19 is an example of the "first storage step” of the present invention.
  • the process of S29 is an example of the "first determination step” of the present invention.
  • the processing of S31 is an example of the "second storage step” of the present invention.
  • the process of S37 is an example of the "second display step” of the present invention.
  • the process of S41 is an example of the "second receiving step” of the present invention.
  • the processing of S49 is an example of the "UNDO step” of the present invention.
  • the process of S47 is an example of the "third storage step” of the present invention.
  • the process of S33 is an example of the "first identification step” of the present invention.
  • the process of S37 is an example of the "second display step” of the present invention.
  • the process of S51 is an example of the "selection step” of the present invention.
  • the process of S55 is an example of the "first deletion step” of the present invention.
  • the processing of S57 is an example of the "second determination step” of the present invention.
  • the process of S59 is an example of the "second deletion step” of the present invention.
  • the processing of S23 is an example of the "fourth storage step” of the present invention.
  • the CPU 31 that performs the processing of S13 is an example of the "first receiving means” of the present invention.
  • CPU31 which processes S19 is an example of the "1st memory
  • CPU31 which processes S29 is an example of the "1st deciding means” of the present invention.
  • CPU31 which processes S31 is an example of the "2nd storage means” of the present invention.
  • the display device 3 is an example of the "history management device" of the present invention.
  • the second embodiment differs from the first embodiment in that the server device 2 manages the history information Us instead of the display device 3 . Descriptions of configurations and processes common to the first embodiment are omitted or simplified.
  • a communication system 1 has a server device 2 and display devices 3A, 3B, and 3C.
  • the server device 2 is communicably connected to the access point 4A via the network line 4.
  • the display devices 3A, 3B, and 3C each have the same configuration as the display device 3 (see FIG. 1) in the first embodiment, and are wirelessly connected to the access point 4A so as to be communicable.
  • Server device 2 and display devices 3A, 3B, and 3C can communicate with each other via network line 4 and access point 4A.
  • the respective users of the display devices 3A, 3B, and 3C are "user A”, “user B", and “user C”.
  • a user C is an administrator of the communication system 1 .
  • the flash memory 32C of each of the display devices 3A to 3C stores identification information for identifying the user who uses each.
  • a display screen 5B (see FIG. 11) is displayed on the display units 33 of the display devices 3A to 3B. Details of the display screen 5B will be described later.
  • the server device 2 has a CPU 21, a ROM 22A, a RAM 22B, a flash memory 22C, and a communication I/F 23.
  • the CPU 21 controls overall control of the server device 2 .
  • a boot program and setting information are stored in the ROM 22A.
  • Data is temporarily stored in the RAM 22B while the CPU 21 executes processing.
  • the flash memory 22C stores a control program to be executed by the CPU 21, data codes Cm and Ch, history information Us, and identification information of the user C who is the administrator of the communication system 1.
  • the communication I/F 23 is a communication module for communicating with the display devices 3A-3C via the network line 4 and the access point 4A.
  • a data code Cm indicating the latest display contents of the main area 51 of the display screen 5B (see FIG. 11) and a data code Ch indicating the display contents of the operation history area 52 are It is transmitted from the server device 2 to the display devices 3A to 3C (S201).
  • the display devices 3A to 3C receive the data codes Cm and Ch (S203a, S203b, S203c), and update and display the main area 51 and the operation history area 52 of the display screen 5B (S205a, S205b, S205c). Thereby, the display screens 5B of the display devices 3A to 3C are shared within the communication system 1.
  • the display devices 3A to 3C transmit input operation data indicating details of the input operation to the server device 2. For example, when an input operation is performed on the display device 3A (S207a), the display device 3A transmits input operation data to the server device 2 (S209a). Further, when transmitting the input operation data to the server device 2, the display device 3A further transmits the identification information of the user A who uses the display device 3A to the server device 2 (S209a).
  • the server device 2 receives input operation data and identification information from each display device 3A (S211).
  • the server device 2 updates the data codes Cm and Ch based on the received input operation data (S213).
  • the server device 2 transmits the updated data codes Cm and Ch to the display devices 3A to 3C (S221).
  • the display devices 3A to 3C receive the data codes Cm and Ch (S223a, S223b, S223c), and update and display the main area 51 and the operation history area 52 of the display screen 5B (S225a, S225b, S225c). Accordingly, even when an input operation is performed on the display device 3A, the display screen 5B updated according to this input operation is shared among the display devices 3A to 3C.
  • FIG. 11 shows a display screen 5B displayed on the display unit 33 of the display device 3 in the second embodiment.
  • the difference from the display screen 5A (see FIG. 4) in the first embodiment is that identification information indicating the user of the display device 3 who has performed the input operation is displayed in the operation history area 52 in association with the input operation. It is a point.
  • the main area 51, the save button 53, the UNDO button 54, and the REDO button 55 are the same as the display screen 5A of the first embodiment.
  • the server device 2 When the received input operation data indicates an addition operation, a change operation, or a deletion operation, the server device 2 performs an UNDO operation necessary to return the post-update display content to the pre-update display content based on the corresponding DO code. Decide on a code. As shown in FIG. 10, the server apparatus 2 associates the determined UNDO code with the received identification information and the order of operations, adds them to the history information Us, and stores them in the flash memory 22C (S215). That is, in the second embodiment, unlike the first embodiment, the identification information is further associated with the UNDO code of the history information Us and stored in the flash memory 22C of the server device 2 .
  • the second flag control process will be described with reference to FIG.
  • the second flag control process is started when the CPU 21 reads and executes the control program stored in the flash memory 22C when the power of the server device 2 is turned on.
  • the flag is stored in RAM 22B.
  • the flag is referred to in the second main process (see FIGS. 13-16), which will be described later.
  • the flag is OFF.
  • the CPU 21 determines whether the flag is OFF (S101).
  • CPU21 returns a process to S101, when it determines with a flag being ON (S101:NO).
  • S101:NO When the CPU 21 determines that the flag is OFF (S101: YES), the CPU 21 determines whether or not a second period or more has passed while the flag is OFF and input operation data is not received (S103).
  • S103: YES When the CPU 31 determines that the second period or more has elapsed while the flag is OFF and the input operation data is not received (S103: YES), the CPU 31 turns the flag ON (S105). The CPU 31 returns the process to S101.
  • FIG. 1 The second main process is started when the CPU 21 reads and executes the control program stored in the flash memory 22C when the power of the server device 2 is turned on.
  • the second main process is executed in parallel with the second flag control process.
  • 0 is set to the variable i stored in the RAM 22B.
  • the CPU 21 determines whether it has received input operation data and identification information transmitted from any of the display devices 3A to 3C (S111). When the CPU 21 determines that the input operation data and the identification information have not been received (S111: NO), the process proceeds to S125. When the CPU 21 receives the input operation data and the identification information (S111: YES), the input operation performed on the display device 3 is an addition operation, a change operation, or a deletion operation based on the received input operation data. It is determined whether it is any (S113).
  • the CPU 21 determines that the operation is one of the addition operation, the change operation, and the deletion operation (S113: YES), it adds 1 to the variable i and updates it (S115).
  • the CPU 21 identifies DO codes corresponding to the addition operation, change operation, and deletion operation (S117).
  • the CPU 21 updates the data code Cm by executing the identified DO code, and stores it in the flash memory 22C (S119).
  • the CPU 21 transmits the data code Cm stored in the flash memory 22C to the display devices 3A-3C (S121).
  • the CPU 21 associates the DO code specified by the process of S117 with the identification information and the variable i received by the process of S111, and temporarily stores them in the RAM 22B (S123).
  • the CPU 21 determines whether the flag stored in the RAM 22B is ON (S125).
  • CPU21 returns a process to S111, when a flag is OFF (S125:NO).
  • the CPU 21 repeats the processing of S111 to S123 until the flag is turned ON.
  • the variable i is updated (S115)
  • the DO code is specified (S117)
  • the data code Cm is updated and stored (S119). )
  • transmission of the data code Cm (S121) and temporary storage of the DO code (S123) are repeated.
  • the CPU 21 determines that the flag stored in the RAM 22B is ON (S125: YES), it turns the flag OFF (S127).
  • the CPU 21 obtains the DO code stored in the RAM 22B by the process of S123. Note that in the second flag control process (see FIG. 12), if the second period or more has passed without input operation data being received (S103: YES), the flag is turned ON (S105). Therefore, the CPU 21 stores the DO code stored in the RAM 22B during the first period from the timing when the second period of no reception of input operation data has passed to the timing of the second period of no reception of input operation data. will be obtained.
  • the CPU 21 determines, for each acquired DO code, an UNDO code, which is an instruction code necessary to restore the post-update display content to the pre-update display content (S129).
  • the CPU 21 associates the variable i associated with the DO code referred to when determining the UNDO code with the UNDO code as the operation order.
  • the CPU 21 associates the identification information associated with the DO code referred to when determining the UNDO code with the UNDO code.
  • the CPU 21 additionally stores the UNDO code associated with the operation order and the identification information to the history information Us of the flash memory 32C (S131).
  • the CPU 21 executes the above process for all the stored DO codes. After that, the CPU 21 deletes all DO codes stored in the RAM 22B.
  • the CPU 21 acquires the UNDO code from the history information Us stored in the flash memory 22C. Based on the acquired UNDO code and data code Cm, the CPU 21 identifies, for each acquired UNDO code, a DO code necessary for updating the pre-update display content to the post-update display content (S133). The CPU 21 displays the input operation item corresponding to the specified DO code and the identification information associated with the UNDO code referred to when specifying the DO code in the same order as the operation order associated with the UNDO code. Then, the data code Ch indicating the display contents of the operation history area 52 of the display screen 5B is updated (S135). The CPU 21 transmits the updated data code Ch to the display devices 3A-3C (S137). CPU21 returns a process to S111.
  • the input operation item is associated with the identification information indicating the user of the display devices 3A to 3C who performed the corresponding input operation, and is displayed in the operation history area 52 of the display screen 5B.
  • the order of input operation items and identification information displayed in the operation history area 52 corresponds to the order of corresponding input operations.
  • the process proceeds to S141. (See FIG. 14). As shown in FIG. 14, the CPU 21 determines whether the input operation performed on the display device 3 is an UNDO operation based on the received input operation data (S141). When the CPU 21 determines that it is an UNDO operation (S141: YES), the process proceeds to S143.
  • the CPU 21 updates the variable i by subtracting 1 (S143).
  • the CPU 21 selects the UNDO code associated with the operation order matching the variable i and the identification information associated with this UNDO code from the history information Us stored in the flash memory 22C (S145).
  • the CPU 21 determines whether the selected identification information matches the identification information received together with the input operation data indicating the UNDO operation (S301). When determining that the identification information matches (S301: YES), the CPU 21 advances the process to S147.
  • the CPU 21 updates the data code Cm by executing the selected UNDO code.
  • the CPU 21 stores the updated data code Cm in the flash memory 32C (S147).
  • the CPU 21 transmits the data code Cm stored in the flash memory 22C to the display devices 3A-3C (S149). As a result, the display content before updating is stored in the flash memory 32C as the data code Cm indicating the latest display content.
  • the CPU 21 returns the process to S111 (see FIG. 13).
  • the display devices 3A to 3C that have received the data code Cm transmitted by the process of S149 update and display the latest display content in the main area 51 of the display screen 5B based on the data code Cm.
  • the latest display content in the main area 51 returns to the display content (pre-update display content) before being updated to the post-update display content by the UNDO operation.
  • the variable i is set to 1 in order to restore the variable i updated in S143.
  • the processing data code Cm update (S147) and transmission (S149) for returning the updated display content to the updated display content in the main area 51 of the display screen 5B of the display device 3 is not executed.
  • the CPU 21 returns the process to S111 (see FIG. 13).
  • the process proceeds to S151 (see FIG. 15). As shown in FIG. 15, the CPU 21 determines whether the input operation performed on the display device 3 is the selection operation based on the received input operation data (S151). When the CPU 21 determines that the operation is a selection operation (S151: YES), the process proceeds to S311.
  • the CPU 21 identifies the input operation item selected by the selection operation performed on the display device 3 based on the input operation data.
  • the CPU 21 identifies a DO code corresponding to the identified input operation item, and further determines an UNDO code for returning the post-update display content to the pre-update display content based on the identified DO code (S311).
  • the CPU 31 selects, from the history information Us, identification information associated with the same UNDO code as the determined UNDO code (S313).
  • the CPU 21 determines whether the selected identification information matches the identification information received together with the input operation data indicating the selection operation (S315). When determining that the identification information matches (S313: YES), the CPU 21 advances the process to S153.
  • the CPU 21 updates the data code Ch stored in the flash memory 22C so that the input operation item selected by the selection operation is deleted from the operation history area 52 of the display screen 5B (S153).
  • the CPU 21 transmits the updated data code Ch to the display devices 3A-3C (S155). Also, the CPU 21 deletes the UNDO code determined by the process of S311 from the history information Us (S159). The CPU 21 returns the process to S111 (see FIG. 13).
  • the process proceeds to S317.
  • the CPU 21 determines whether the identification information received together with the input operation data indicating the selection operation matches the identification information indicating the administrator of the communication system 1, based on the identification information of the administrator stored in the flash memory 22C. (S317).
  • the process proceeds to S153.
  • the processing of S153 to S159 is the same as that in the case where it is determined that the identification information matches, so a description thereof will be omitted.
  • the process returns to S111 (see FIG. 13). In this case, the process of deleting the input operation item selected by the selection operation from the operation history area 52 of the display screen 5B of the display device 3 (update of data code Ch (S153), transmission (S155), update of history information Us (S159)) is not executed.
  • the process proceeds to S161 (see FIG. 16). As shown in FIG. 16, the CPU 21 determines whether the input operation performed on the display device 3 is the REDO operation based on the received input operation data (S161). When the CPU 21 determines that it is a REDO operation (S161: YES), the process proceeds to S165.
  • the CPU 21 selects the UNDO code associated with the operation order that matches the variable i from the history information Us stored in the flash memory 22C (S165). Based on the selected UNDO code, the CPU 21 specifies a DO code to be executed to update the pre-update display content to the post-update display content (S167). The CPU 21 updates the data code Cm by executing the specified DO code, and stores it in the flash memory 22C (S169). The CPU 21 transmits the data code Cm stored in the flash memory 22C to the display devices 3A-3C (S171). The CPU 21 updates the variable i by adding 1 (S173). The CPU 21 returns the process to S111 (see FIG. 13).
  • the display devices 3A to 3C that have received the data code Cm transmitted by the process of S171 respectively update and display the latest display content in the main area 51 of the display screen 5B based on the data code Cm.
  • the latest display content in the main area 51 returns from the pre-update display content updated by the UNDO operation to the post-update display content.
  • the CPU 21 determines that the input operation performed on the display device 3 is not the REDO operation based on the received input operation data (S161: NO), the CPU 21 executes processing corresponding to the input operation (S181), and performs the processing. is returned to S111 (see FIG. 13).
  • the server device 2 When the server device 2 receives the input operation data indicating the UNDO operation (S141: YES), it refers to the history information Us and selects the UNDO code in the reverse order of the operation (S143, S145). The server device 2 updates the data code Cm by executing the selected UNDO code as it is (S147), and transmits it to the display device 3 (S149). In the display device 3, based on the data code Cm received from the server device 2, the latest display content in the main area 51 of the display screen 5B is updated from the post-update display content to the pre-update display content. Therefore, the server device 2 can cause the display device 3 to perform the UNDO function. Since the server device 2 can cause the display device 3 to execute the UNDO function without referring to the plurality of instruction codes stored in the history information Us, the UNDO function can be efficiently executed.
  • the server device 2 When the server device 2 receives input operation data indicating an UNDO operation (S141: YES), it executes the UNDO code of the history information Us as it is to update the data code Cm (S147). The server device 2 transmits the updated data code Cm to the display device (S149). As a result, the latest display content in the main area 51 of the display screen 5B of the display device 3 is returned from the post-update display content to the original pre-update display content. Therefore, the user of the display device 3 can perform the UNDO function on the display device 3 by performing the UNDO operation via the input unit 34 .
  • the server device 2 changes the latest display content in the main area 51 from the post-update display content to the pre-update display. Content can be prohibited from being updated.
  • the server device 2 updates the latest display content in the main area 51 from the post-update display content to the pre-update display content.
  • the server apparatus 2 executes the UNDO code.
  • the data code Cm is updated (S147), and the data code Cm is transmitted to the display device 3 (S149).
  • the server apparatus 2 updates the main area 51 if the user is an administrator.
  • the content can be updated from the post-update display content to the pre-update display content.
  • the server device 2 Based on the UNDO code of the history information Us, the server device 2 identifies the DO code required to update the pre-update display content to the post-update display content (S133). The server device 2 associates the input operation item corresponding to the specified DO code with the identification information of the user who performed the input operation, and updates the data code Ch so that it is displayed in the operation history area 52 of the display screen 5B. (S135). The server device 2 transmits the updated data code Ch to the display device 3 (S137). Therefore, the user of the display device 3 can grasp the history of input operations by visually recognizing the input operation items displayed in the order of operation in the operation history area 52 . In addition, the user of the display device 3 can also confirm the user who performed the input operation.
  • the server device 2 determines an UNDO code corresponding to the selected input operation item from the history information Us (S311), and deletes it from the history information Us (S159).
  • the server device 2 when a user other than the user who performed the input operation performs a selection operation for deleting the UNDO code corresponding to this input operation from the history information Us, the server device 2 performs the input operation of the operation history area 52. Deletion of the operation item and deletion of the UNDO code from the history information Us can be prohibited. In other words, when the user who performed the input operation performs the selection operation for this input operation, the server device 2 can update the display contents of the operation history area 52 and delete the UNDO code from the history information Us. .
  • the display device 3 may periodically transmit request data requesting the data codes Cm and Ch to the server device 2 .
  • the server device 2 may transmit the data codes Cm and Ch to the display device 3 at the timing of receiving the requested data from the display device 3 .
  • the server device 2 may repeatedly transmit the data codes Cm and Ch to the display device 3 at a predetermined cycle.
  • the functions of the server device 2 described in the second embodiment may be executed by one of the display devices 3A to 3C (master display device) instead of the server device 2.
  • the identification information of the user using the display device 3 is transmitted from the display device 3 to the server device 2 together with the input operation data. If the display device 3 used by the user is fixed for each user, the identification information can be said to be identification information that indirectly identifies the display device 3 . In response to this, the display device 3 transmits identification information (for example, the serial number, MAC address, IP address, etc. of the display device 3) that directly identifies the display device 3 to the server device 2 together with the input operation data. good too. Input operation items may be displayed in association with identification information for directly identifying the display device 3 in the operation history area 52 of the display screen 5B.
  • identification information for example, the serial number, MAC address, IP address, etc.
  • the display device 3 When the display device 3 receives an UNDO operation for returning the post-update display content to the pre-update display content, the input operation for updating the pre-update display content to the post-update display content was performed via the input unit 34 in the past. It may be determined whether it has been executed. The display device 3 may transmit input operation data indicating an UNDO operation to the server device 2 only when an input operation has been performed in the past. On the other hand, if an input operation has not been executed in the past, the display device 3 may prohibit the UNDO function without transmitting input operation data indicating an UNDO operation to the server device 2 . That is, the display device 3 may enable the UNDO function only when the user performs an UNDO operation for undoing the input operation performed by the user.
  • the display device 3 may accept an UNDO operation with two or more input operation items in the operation history area 52 selected. In this case, the display device 3 may extract input operation items of input operations performed in the past via the input unit 34 from among the selected two or more input operation items. The display device 3 may transmit to the server device 2 input operation data indicating an UNDO operation for undoing the input operation corresponding to the extracted input operation item. On the other hand, the server device 2 may select an UNDO code from the history information Us based on the received input operation data, and execute the selected UNDO code.
  • the display device 3 When receiving a selection operation to select an input operation item in the operation history area 52, the display device 3 determines whether an input operation corresponding to the selected input operation item has been performed in the past via the input unit 34. good too. The display device 3 may extract input operation items corresponding to input operations performed in the past via the input unit 34 and transmit input operation data indicating these selection operations to the server device 2 . On the other hand, the display device 3 does not transmit the input operation data indicating the selection operation to the server device 2 for the input operation item corresponding to the input operation that has not been performed through the input unit 34 in the past. A function of deleting the UNDO code from the history information Us may be prohibited. In other words, the display device 3 deletes the input operation item selected from the operation history area 52 only when the selection operation for selecting and deleting the input operation performed by the user is executed by the user. may
  • the processing of S113 is an example of the "first receiving step” of the present invention.
  • the processing of S119 is an example of the "first storage step” of the present invention.
  • the processing of S129 is an example of the "first determination step” of the present invention.
  • the processing of S131 is an example of the "second storage step” of the present invention.
  • the process of S137 is an example of the "second display step” of the present invention.
  • the process of S141 is an example of the "second receiving step” of the present invention.
  • the processing of S149 is an example of the "UNDO step” of the present invention.
  • the processing of S147 is an example of the "third storage step” of the present invention.
  • the processing of S133 is an example of the "first identifying step” of the present invention.
  • the process of S137 is an example of the "second display step” of the present invention.
  • the process of S151 is an example of the "third receiving step” of the present invention.
  • the process of S155 is an example of the "first deletion step” of the present invention.
  • the processing of S311 is an example of the "second determination step” of the present invention.
  • the process of S159 is an example of the "second deletion step” of the present invention.
  • the process of S23 is an example of the "fourth storage step” of the present invention.
  • the CPU 31 that performs the processing of S113 is an example of the "first receiving means” of the present invention.
  • CPU31 which processes S119 is an example of the “1st storage means” of the present invention.
  • CPU31 which processes S129 is an example of the "1st deciding means” of the present invention.
  • CPU31 which processes S131 is an example of the "2nd storage means” of the present invention.
  • the server device 2 is an example of the "history management device" of the present invention.
  • communication system 2 server devices 3, 3A, 3B, 3C: display devices 21, 31: CPU 51: main area 52: operation history area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

直前に行った操作を取り消して元の状態に戻す機能を効率良く実現するための履歴管理プログラム、履歴管理方法、及び履歴管理装置を提供する。表示装置は、表示部の表示内容を更新する為の入力操作を受け付ける(S11:YES、S13:YES)。表示装置は、受け付けた入力操作に応じて更新された表示内容を示すデータコードCmを、最新表示内容を示すデータコードCmとして記憶する(S19)。表示装置は、最新表示内容を、更新前の表示内容である更新前表示内容に戻す為に必要なUNDOコードを決定する(S29)。表示装置は、決定したUNDOコードを、受け付けた入力操作の順番である操作順と関連付け、履歴情報として記憶する(S31)。

Description

履歴管理プログラム、履歴管理方法、及び履歴管理装置
 本発明は、履歴管理プログラム、履歴管理方法、及び履歴管理装置に関する。
 文字や画像の入力、変更、削除等を行う為の操作が行われた場合に、操作履歴を記憶部に記憶する機器が知られている。例えば特許文献1に記載の入力装置において、手書き操作により入力された文字列のストロークデータは、操作順にストロークデータ蓄積部に記憶される。
 直前に行った操作を取り消して元の状態に戻す機能が、UNDO機能として一般的に知られている。ここで特許文献1のように、文字や画像を新たに追加する追加操作を示す情報(以下、「追加操作情報」という。)を、履歴情報として操作順に記憶する機器にて、UNDO機能を実現しようとする場合を例に挙げる。この場合、記憶された履歴情報から、操作順とは逆の順番で追加操作情報を1つ参照し、参照した追加操作情報により示される追加操作を取り消すことで、UNDO機能が実現可能となる。
特開2007-265171号公報
 入力済みの文字や画像を変更する変更操作や、入力済みの文字や画像を削除する削除操作が、追加操作と共に行われる場合がある。この場合、追加操作情報だけでなく、変更操作を示す変更操作情報や、削除操作を示す削除操作情報が、履歴情報に含まれることになる。この場合においてUNDO機能を実現しようとすると、操作順とは逆の順番で履歴情報から参照した1つの操作情報のみでは、直前に行った操作を取り消して元の状態に戻すことができない場合がある。このように、操作情報を操作順で記憶した履歴情報では、複数の操作情報を参照してUNDO機能を実現しなければならない場合があり、効率が悪いという問題点がある。
 本発明の目的は、直前に行った操作を取り消して元の状態に戻す機能を効率良く実現するための履歴管理プログラム、履歴管理方法、及び履歴管理装置を提供することである。
 本発明の第1態様に係る履歴管理プログラムは、表示部の表示内容を更新する為の入力操作を受け付ける第1受付ステップと、前記第1受付ステップにより受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶ステップと、前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定ステップと、前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶ステップとを、コンピュータに実行させることを特徴とする。
 履歴管理プログラムを実行するコンピュータは、直前に行った操作を取り消して元の表示状態に戻すUNDO機能の実行指示を受け付けた場合、履歴情報を参照し、操作順とは逆の順番で選択したUNDO処理を実行することで、UNDO機能を実現できる。従ってコンピュータは、履歴情報として記憶された複数の情報を参照することなくUNDO機能を実現できるので、UNDO機能を効率良く実現できる。
 本発明の第2態様に係る履歴管理方法は、表示部の表示内容を更新する為の入力操作を受け付ける第1受付ステップと、前記第1受付ステップにより受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶ステップと、前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定ステップと、前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶ステップとを備えたことを特徴とする。第3態様によれば、第1態様と同様の効果を奏することができる。
 本発明の第3態様に係る履歴管理装置は、表示部と、前記表示部に表示された表示内容を更新する為の入力操作を受け付ける第1受付手段と、前記第1受付手段により受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶手段と、前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定手段と、前記第1決定手段により決定した前記UNDO処理を、前記第1受付手段により受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶手段とを備えたことを特徴とする。第4態様によれば、第1態様と請求項1と同様の効果を奏することができる。
表示装置3の概要、及び電気的構成を示す図である。 従来の方法で記憶される履歴情報Udを示す図である。 本実施形態において記憶される履歴情報Usを示す図である。 表示画面5Aの一例を示す図である。 第1フラグ制御処理を示すフローチャートである。 第1メイン処理を示すフローチャートである。 第1メイン処理を示すフローチャートであって、図6の続きである。 第1メイン処理を示すフローチャートであって、図7の続きである。 通信システム1の概要、及び、サーバ装置2の電気的構成を示す図である。 通信システム1における通信シーケンスを示す図である。 表示画面5Bの一例を示す図である。 第2フラグ制御処理を示すフローチャートである。 第2メイン処理を示すフローチャートである。 第2メイン処理を示すフローチャートであって、図13の続きである。 第2メイン処理を示すフローチャートであって、図14の続きである。 第2メイン処理を示すフローチャートであって、図15の続きである。
 本発明の一実施形態について、図面を参照して説明する。参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成等は、それのみに限定する趣旨ではなく、単なる説明例である。
<第1実施形態>
<表示装置3の構成>
 図1を参照し、表示装置3の概要について説明する。表示装置3は、周知のタブレット端末である。表示装置3は、CPU31、ROM32A、RAM32B、フラッシュメモリ32C、表示部33、入力部34、及び通信インタフェース(I/F)35を有する。
 CPU31は、表示装置3の制御全般を司る。ROM32Aには、ブートプログラムや初期設定情報が記憶される。RAM32Bには、CPU31が処理を実行する過程でデータが一時的に記憶される。フラッシュメモリ32Cには、CPU31が実行するための制御プログラム、後述のデータコードCm、Ch、履歴情報Us等が記憶される。表示部33は液晶ディスプレイである。入力部34は、表示部33の表面に設けられたタッチパネルである。通信I/F35は、後述のネットワーク回線4及びアクセスポイント4A(図9参照)を介してサーバ装置2(図9参照)と通信を行う為の通信モジュールである。
<履歴情報Us>
 表示装置3において、表示部33に表示される表示内容を更新する為の入力操作が入力部34を介して行われた場合について説明する。図2、図3では、各入力操作後における表示部33の最新の表示内容、最新の表示内容を示すデータコードCm、及び、履歴情報Ud(図2参照)、Us(図3参照)が示されている。図2、図3では、共通する複数の入力操作が順番に行われている。データコードCmは、JSON形式により記述され、図2、図3で同一である。図2、図3では、履歴情報Ud、Usが互いに相違する。図2では、従来の方法で記憶された履歴情報Udが比較のため示されている。図3は、本実施形態における方法で記憶された履歴情報Usを示す。
 図2に示す第1例では、はじめに、表示部33の0行目に新たなイメージ(文字列「Hi!」)を追加して表示させる為の入力操作が実行される。以下、新たなイメージを追加して表示させる為の入力操作を、「追加操作」という。
 この場合、新たなイメージを表示部33に追加して表示させることを示すコマンド「add」、イメージの種別が文字列であることを示す種別「text」、イメージが追加される位置を示す行「0」、及び、追加される文字列「Hi!」を含む命令コード「add/text/0 "Hi!"」が実行される。これにより、図2(B)に示すように、データコードCmの0行目に"Hi!"が追加される。又、表示部33の0行目に文字列「Hi!」が表示され、表示内容が更新される。更に、実行された命令コード「add/text/0 "Hi!"」が履歴情報Udに追加される。追加された命令コード「add/text/0 "Hi!"」には、入力操作を受け付けた順番を示す操作順「001」が関連付けられる。
 次に、表示部33の1行目に新たな文字列「Bye!」を更に追加する為の追加操作が実行される。この場合、コマンド「add」、種別「text」、行「1」、及び、追加されるイメージ「Bye!」を含む命令コード「add/text/1 "Bye!"」が実行される。これにより、図2(C)に示すように、データコードCmの1行目に"Bye!"が追加される。又、表示部33の1行目に文字列「Bye!」が追加され、表示内容が更新される。更に、実行された命令コード「add/text/1 "Bye!"」が履歴情報Udに新たに追加される。追加された命令コード「add/text/1 "Bye!"」には、操作順「002」が関連付けられる。
 次に、表示部33の0行目に表示された文字列「Hi!」を、別の文字列「Hello!」に変更する為の入力操作が実行される。以下、表示部33に表示されたイメージを別のイメージに変更する為の入力操作を、「変更操作」という。
 この場合、イメージを変更することを示すコマンド「replace」、種別「text」、イメージが変更される行を示す行「0」、及び、変更後の文字列「Hello!」を含む命令コード「replace/text/0 "Hello!"」が実行される。これにより、図2(D)に示すように、データコードCmの0行目が"Hello!"に変更される。又、表示部33の0行目に表示された文字列「Hi!」(図2(C)参照)が文字列「Hello!」に変更され、表示内容が更新される。更に、実行された命令コード「replace/text/0 "Hello!"」が履歴情報Udに新たに追加される。追加された命令コード「replace/text/0 "Hello!"」には、操作順「003」が関連付けられる。
 次に、表示部33の1行目に表示された文字列「Bye!」を削除する為の入力操作が実行される。以下、表示部33に表示されたイメージを削除する為の入力操作を、「削除操作」という。
 この場合、イメージを削除することを示すコマンド「remove」、種別「text」、及び、イメージが削除される行「1」を含む命令コード「remove/text/1」が実行される。これにより、図2(E)に示すように、データコードCmの1行目が削除される。又、表示部33の1行目に表示された文字列「Bye!」(図2(D)参照)が削除され、表示内容が更新される。更に、実行された命令コード「remove/text/1」が履歴情報Udに新たに追加される。追加された命令コード「remove/text/1」には、操作順「004」が関連付けられる。
 一方、図3に示す第2例では、図2に示す第1例とは異なる方法で履歴情報Usが記憶される。詳細は次の通りである。
 はじめに、表示部33の0行目に対する文字列「Hi!」の追加操作が実行される。この場合、命令コード「add/text/0 "Hi!"」(図2(B)参照)が実行される。これにより、図3(B)に示すように、データコードCmの0行目に"Hi!"が追加される。又、表示部33の0行目に文字列「Hi!」が表示され、表示内容が更新される。
 更に、更新後の表示内容(図3(B)参照)を更新前の表示内容(図3(A)参照)に戻す為に必要な命令コードが決定される。具体的には次の通りである。図3(B)に示す更新後の表示内容を、図3(A)に示す更新前の表示情報に戻す為には、表示部33の0行目に表示された文字列「Hi!」を削除すればよい。このため、コマンド「remove」、種別「text」、及び行「0」を含む命令コード「remove/text/0」が決定される。決定された命令コードは、履歴情報Usに新たに追加される。追加された命令コード「remove/text/0」には、操作順「001」が関連付けられる。
 次に、表示部33の1行目に対する文字列「Bye!」の追加操作が実行される。この場合、命令コード「add/text/1 "Bye!"」(図2(C)参照)が実行される。これにより、図3(C)に示すように、データコードCmの1行目に"Bye!"が追加される。又、表示部33の1行目に文字列「Bye!」が表示され、表示内容が更新される。
 更に、更新後の表示内容(図3(C)参照)を更新前の表示内容(図3(B)参照)に戻す為に必要な命令コードが決定される。具体的には次の通りである。図3(C)に示す更新後の表示内容を、図3(B)に示す更新前の表示情報に戻す為には、表示部33の1行目に表示された文字列「Bye!」を削除すればよい。このため、コマンド「remove」、種別「text」、及び、行「1」を含む命令コード「remove/text/1」が決定される。決定された命令コードは、履歴情報Usに新たに追加される。追加された命令コード「remove/text/1」には、操作順「002」が関連付けられる。
 次に、表示部33の0行目に表示された文字列「Hi」を文字列「Hello!」に変更する変更操作が実行される。この場合、命令コード「replace/text/0 "Hello!"」(図2(D)参照)が実行される。これにより、図3(D)に示すように、データコードCmの0行目が"Hello!"に変更される。又、表示部33の0行目に表示された文字列「Hi!」(図3(C)参照)が文字列「Hello!」に変更され、表示内容が更新される。
 更に、更新後の表示内容(図3(D)参照)を更新前の表示内容(図3(C)参照)に戻す為に必要な命令コードが決定される。具体的には次の通りである。図3(D)に示す更新後の表示内容を、図3(C)に示す更新前の表示情報に戻す為には、表示部33の0行目に表示された文字列「Hello!」を文字列「Hi!」に変更すればよい。このため、コマンド「replace」、種別「text」、行「0」、及び文字列「Hi!」を含む命令コード「replace/text/0 "Hi!"」が決定される。決定された命令コードは、履歴情報Usに新たに追加される。追加された命令コード「replace/text/0 "Hi!"」には、操作順「003」が関連付けられる。
 次に、表示部33の1行目に表示された文字列「Bye!」を削除する削除操作が実行される。この場合、命令コード「remove/text/1」(図2(E)参照)が実行される。これにより、図3(E)に示すように、データコードCmの1行目が削除される。又、表示部33の1行目に表示された文字列「Bye!」(図3(D)参照)が削除され、表示内容が更新される。
 更に、更新後の表示内容(図3(E)参照)を更新前の表示内容(図3(D)参照)に戻す為に必要な命令コードが決定される。具体的には次の通りである。図3(E)に示す更新後の表示内容を、図3(D)に示す更新前の表示情報に戻す為には、表示部33の1行目に文字列「Bye!」を追加して表示すればよい。このため、コマンド「add」、種別「text」、行「1」、及び文字列「Bye!」を含む命令コード「add/text/1 "Bye!"」が決定される。決定された命令コードは、履歴情報Usに新たに追加される。追加された命令コード「add/text/1 "Bye!"」には、操作順「004」が関連付けられる。
<表示画面5A>
 図4は、表示装置3の表示部33に表示される表示画面5Aを詳細に示す。表示画面5Aには、メイン領域51、操作履歴領域52、保存ボタン53、UNDOボタン54、及びREDOボタン55が含まれる。図4は、図3(A)~図3(E)にて示した一連の入力操作(追加操作、追加操作、変更操作、削除操作)が実行された後の状態を示す。
 メイン領域51には、入力操作に応じたイメージが表示される。メイン領域51の表示内容(以下、「最新表示内容」という。)は、フラッシュメモリ32Cに記憶されたデータコードCm(図3参照)に基づいて特定される。操作履歴領域52には、実行された複数の入力操作を示す情報(以下、「入力操作項目」という。)が、入力操作の実行された順番に表示される。操作履歴領域52の表示内容は、フラッシュメモリ32Cに記憶されたデータコードChに基づいて特定される。データコードChは、履歴情報Usに基づいて決定される。
 図4に示す例では、メイン領域51には図3(E)と同様、最新表示内容として文字列「Hello!」のみ表示されている。又、操作履歴領域52には、入力操作項目として、文字列「Hi!」の追加操作(図3(B)参照)を示す「追加"Hi!"」、文字列「Bye!」の追加操作(図3(C)参照)を示す「追加"Bye!"」、文字列「Hi」を文字列「Hello!」に変更する変更操作(図3(D)参照)を示す「変更"Hi!"→"Hello!"」、及び、文字列「Bye」を削除する削除操作(図3(E)参照)を示す「削除"Bye!"」が上から順番に表示されている。入力操作項目の表示順は、入力操作の実行された順番に対応する。
 なおユーザは、操作履歴領域52の入力操作項目の何れかをタッチして選択し、この状態を維持する操作を行った場合、選択した入力操作項目を操作履歴領域52から削除できる。以下、この操作を「選択操作」という。
 保存ボタン53は、最新表示内容を示すファイルをフラッシュメモリ32Cに保存する為の選択ボタンである。以下、保存ボタン53を選択する入力操作を、「保存操作」という。
 UNDOボタン54は、追加操作、変更操作、及び削除操作を、入力操作が実行された順番と逆の順番で取り消す為の選択ボタンである。以下、UNDOボタン54を選択する入力操作を、「UNDO操作」という。UNDO操作が実行された場合、メイン領域51の最新表示内容は、追加操作、変更操作、及び削除操作が実行された後の表示内容から、追加操作、変更操作、及び削除操作が実行される前の表示内容に戻される。
 なお、本実施形態では、上述にて説明したように、更新後の表示内容を更新前の表示内容に戻す為に必要な命令コードが履歴情報Usとして記憶される。このため表示装置3は、UNDO操作に応じてメイン領域51の最新表示内容を更新する動作を、履歴情報Usに記憶された命令コードをそのまま実行することにより実現できる。
 REDOボタン55は、UNDOボタン54を選択する入力操作を取り消す為の選択ボタンである。以下、REDOボタン55を選択する入力操作を、「REDO操作」という。REDO操作が実行された場合、メイン領域51の表示内容は、UNDOボタン54を選択する操作が実行された後の表示内容から、UNDOボタン54を選択する操作が実行される前の表示内容に戻される。
<第1フラグ制御処理>
 図5を参照し、第1フラグ制御処理について説明する。第1フラグ制御処理は、履歴情報Usに命令コードを追加して更新するタイミングを判断するためのフラグを制御する。フラグはRAM32Bに記憶される。フラグは、後述する第1メイン処理(図6~図8参照)において参照される。第1フラグ制御処理は、表示画面5Aを表示する為のアプリケーションを起動する為の操作が、入力部34を介して実行された場合、フラッシュメモリ32Cに記憶された制御プログラムをCPU31が読み出して実行することにより開始される。第1フラグ制御処理の開始時、フラグは0である。以下、フラグに0を設定することを、「フラグをOFFする。」といい、フラグに1を設定することを、「フラグをONする。」という。
 CPU31は、表示画面5Aの保存操作を検出したか判定する(S1)。CPU31は、保存操作を検出した場合(S1:YES)、フラグをONする(S3)。CPU31は、処理をS1に戻す。
 CPU31は、保存操作を検出しない場合(S1:NO)、処理をS5に進める。CPU31は、フラグがOFFであるか判定する(S5)。CPU31は、フラグがONであると判定した場合(S5:NO)、処理をS1に戻す。CPU31は、フラグがOFFであると判定した場合(S5:YES)、フラグがOFFの状態且つ入力操作が検出されない状態で、第2期間以上経過したか判定する(S3)。CPU31は、フラグがOFFの状態且つ入力操作が検出されない状態で、第2期間以上経過したと判定した場合(S7:YES)、フラグをONする(S3)。CPU31は、処理をS1に戻す。
 CPU31は、フラグがOFFの状態且つ入力操作が検出されない状態で、第2期間以上経過していないと判定した場合(S7:NO)、処理をS1に戻す。
<第1メイン処理>
 図6~図8を参照し、第1メイン処理について説明する。第1メイン処理は、表示装置3の電源が投入された場合、表示画面5Aを表示する為のアプリケーションを起動する為の操作が、入力部34を介して実行された場合、フラッシュメモリ32Cに記憶された制御プログラムをCPU31が読み出して実行することにより開始される。第1メイン処理は、第1フラグ制御処理と並列して実行される。第1メイン処理の開始時、RAM32Bに記憶された変数iに0が設定される。
 以下、表示画面5Aのメイン領域51に表示される表示内容を、「最新表示内容」という。入力操作に応じて最新表示内容を更新する為の命令コードを、「DOコード」という。DOコードにより更新される前の最新表示内容を、「更新前表示内容」といい、DOコードにより更新された後の最新表示内容を、「更新後表示内容」という。更新後表示内容を更新前表示内容に戻す為に必要な命令コードを、「UNDOコード」という。
 CPU31は、入力部34に対する入力操作を検出したか判定する(S11)。CPU31は、入力操作を検出していないと判定した場合(S11:NO)、処理をS25に進める。CPU31は、入力操作を検出した場合(S11:YES)、検出した入力操作が、追加操作、変更操作、及び削除操作の何れかであるか判定する(S13)。
 CPU31は、検出した入力操作が、追加操作、変更操作、及び削除操作の何れかであると判定した場合(S13:YES)、変数iに1を加算して更新する(S15)。CPU31は、検出された追加操作、変更操作、及び削除操作に対応するDOコードを特定する(S17)。CPU31は、特定したDOコードを実行することによりデータコードCmを更新し、フラッシュメモリ32Cに記憶する(S19)。CPU31は、フラッシュメモリ32Cに記憶されたデータコードCmに基づき、表示画面5Aのメイン領域51の最新表示内容を更新する(S21)。CPU31は、DOコードに変数iを関連付けて、RAM32Bに一時的に記憶する(S23)。
 CPU31はRAM32Bに記憶されたフラグがONであるか判定する(S25)。CPU31は、フラグがOFFである場合(S25:NO)、処理をS11に戻す。CPU31は、フラグがONするまで、S11~S23の処理を繰り返す。この間、追加操作、変更操作、及び削除操作が受け付けられる度、変数iの更新(S15)、DOコードの特定(S17)、データコードCmの更新及び記憶(S19)、最新表示内容の更新(S21)、及びDOコードの一時記憶(S23)が繰り返される。
 CPU31は、RAM32Bに記憶されたフラグがONであると判定した場合(S25:YES)、フラグをOFFする(S27)。CPU31は、S23の処理によってRAM32Bに記憶したDOコードを取得する。なお第1フラグ制御処理(図5参照)において、保存ボタン53を選択する入力操作を検出した場合(S1:YES)、又は、入力操作が検出されない状態で第2期間以上経過した場合(S7:YES)、フラグがONされる(S3)。このためCPU31は、以下の開始タイミングから終了タイミングまでの第1期間にRAM32Bに記憶されたDOコードを取得することになる。ここで開始タイミングとは、入力操作を受け付けない期間が第2期間経過したタイミング、又は、保存操作を検出したタイミングである。終了タイミングとは、開始タイミングの後で入力操作を受け付けない期間が第2期間経過したタイミング、又は、開始タイミングの後で保存操作を検出したタイミングである。
 CPU31は、取得したDOコードとデータコードCmとに基づき、更新後表示内容を更新前表示内容に戻す為に必要な命令コードであるUNDOコードを、取得したDOコード毎に決定する(S29)。CPU31は、UNDOコードを決定するときに参照したDOコードに関連付けられた変数iを、操作順としてUNDOコードに関連付け、フラッシュメモリ32Cの履歴情報Usに追加して記憶する(S31)。CPU31は、RAM32Bに複数のDOコードが記憶されている場合、記憶されたすべてのDOコードに対して、上記の処理を実行する。その後、CPU31は、RAM32Bに記憶されたDOコードを全て削除する。
 CPU31は、フラッシュメモリ32Cに記憶された履歴情報UsからUNDOコードを取得する。CPU31は、取得したUNDOコードとデータコードCmとに基づき、更新前表示内容を更新後表示内容に更新する為に必要なDOコードを、取得したUNDOコード毎に特定する(S33)。CPU31は、特定したDOコードに対応する入力操作項目を、DOコードを特定するときに参照したUNDOコードに関連付けられた操作順と同じ順番で表示する為に、表示画面5Aの操作履歴領域52の表示内容を示すデータコードChを更新する(S35)。CPU31は、更新されたデータコードChに基づき、表示画面5Aの操作履歴領域52の表示内容を更新する(S37)。なお、操作履歴領域52において表示される入力操作項目の順番は、対応する入力操作の操作順に対応する。CPU31は、処理をS11に戻す。
 CPU31は、入力操作を検出した場合(S11:YES)であって、検出した入力操作が、追加操作、変更操作、及び削除操作の何れでもないと判定した場合(S13:NO)、処理をS41(図7参照)に進める。図7に示すように、CPU31は、検出した入力操作がUNDO操作であるか判定する(S41)。CPU31は、UNDO操作であると判定した場合(S41:YES)、処理をS43に進める。
 CPU31は、変数iから1減算して更新する(S43)。CPU31は、フラッシュメモリ32Cに記憶された履歴情報Usから、変数iと一致する操作順に関連付けられたUNDOコードを選択する(S45)。CPU31は、選択したUNDOコードを実行することによりデータコードCmを更新し、フラッシュメモリ32Cに記憶する(S47)。CPU31は、フラッシュメモリ32Cに記憶されたデータコードCmに基づき、表示画面5Aのメイン領域51の最新表示内容を更新する(S49)。これによりメイン領域51の最新表示内容は、更新後表示内容から更新前表示内容に戻される。又、更新前表示内容が、最新表示内容を示すデータコードCmとしてフラッシュメモリ32Cに記憶された状態となる。CPU31は、処理をS11に戻す。
 CPU31は、検出した入力操作がUNDO操作でないと判定した場合(S41:NO)、検出した入力操作が選択操作であるか判定する(S51)。CPU31は、選択操作であると判定した場合(S51:YES)、処理をS53に進める。
 CPU31は、表示画面5Aの操作履歴領域52から、選択された入力操作項目が削除されるよう、フラッシュメモリ32Cに記憶されたデータコードChを更新する(S53)。CPU31は、更新したデータコードChに基づき、操作履歴領域52の表示内容を更新する(S55)。これにより、選択操作に応じて選択された入力操作項目は、操作履歴領域52から削除される。
 CPU31は、操作履歴領域52から削除した入力操作項目に対応するDOコードを特定し、更に、特定したDOコードに基づき、更新後表示内容を更新前表示内容に戻すためのUNDOコードを決定する(S57)。CPU31は、履歴情報UsのUNDOコードのうち、決定したUNDOコードを削除する(S59)。CPU31は、処理をS11(図6参照)に戻す。
 CPU31は、検出した入力操作が選択操作でないと判定した場合(S51:NO)、処理をS61(図8参照)に進める。図8に示すように、CPU31は、検出した入力操作がREDO操作であるか判定する(S61)。CPU31は、REDO操作であると判定した場合(S61:YES)、処理をS65に進める。
 CPU31は、フラッシュメモリ32Cに記憶された履歴情報Usから、変数iと一致する操作順に関連付けられたUNDOコードを選択する(S65)。CPU31は、選択したUNDOコードに基づき、更新前表示内容を更新後表示内容に更新する為に必要なDOコードを特定する(S67)。なお、特定されるDOコードは、REDO操作に応じてUNDO操作を取り消し、メイン領域51の最新表示内容をUNDO操作前の状態に戻す為に必要な命令コードに対応する。CPU31は、特定したDOコードを実行することによりデータコードCmを更新し、フラッシュメモリ32Cに記憶する(S69)。
 CPU31は、フラッシュメモリ32Cに記憶されたデータコードCmに基づき、表示画面5Aのメイン領域51の最新表示内容を更新する(S71)。これによりメイン領域51の最新表示内容は、UNDO操作により更新された更新前表示内容は、更新後表示内容に戻される。又、更新後表示内容が、最新表示内容を示すデータコードCmとしてフラッシュメモリ32Cに記憶された状態となる。CPU31は、変数iに1加算して更新する(S73)。CPU31は、処理をS11(図6参照)に戻す。
 CPU31は、検出した入力操作がREDO操作でないと判定した場合(S61:NO)、入力操作に応じた処理を実行し(S81)、処理をS11(図6参照)に戻す。
<第1実施形態の作用、効果>
 表示装置3は、UNDO操作を受け付けた場合(S41:YES)、履歴情報Usを参照し、操作順とは逆の順番でUNDOコードを選択する(S43、S45)。表示装置3は、選択したUNDOコードをそのままを実行することで、追加操作、変更操作、及び削除操作を取り消して元の表示内容に戻す機能(UNDO機能)を実行できる。従って表示装置3は、履歴情報Usに記憶された複数の命令コードを参照することなくUNDO機能を実現できるので、UNDO機能を効率良く実現できる。
 表示装置3は、UNDO操作を受け付けた場合(S41:YES)、履歴情報UsのUNDOコードそのまま実行してデータコードCmを更新する(S47)。これにより、表示画面5Aのメイン領域51の最新表示内容は、更新後表示内容から、元の更新前表示内容に戻す(S49)。従って、表示装置3のユーザは、入力部34を介してUNDO操作を行うことで、表示装置3にUNDO機能を実行させることができる。
 表示装置3は、履歴情報UsのUNDOコードに基づき、更新前表示内容を更新後表示内容に更新する為に必要なDOコードを特定する(S33)。表示装置3は、特定したDOコードに対応する入力操作項目を、入力操作の操作順で表示画面5Aの操作履歴領域52に表示する(S37)。従ってユーザは、操作履歴領域52に操作順で表示される入力操作項目を視認することにより、入力操作の履歴を把握できる。
 表示装置3は、操作履歴領域52に表示された入力操作項目を選択する選択操作を受け付けた場合(S51:YES)、選択された入力操作項目を操作履歴領域52から削除し(S55)、且つ、履歴情報Usのうち対応するUNDOコードを削除する(S59)。このためユーザは、表示装置3の記憶容量を削減することで、残容量を確保できる。
 表示装置3は、第1期間に実行された少なくとも1回の入力操作に基づき、少なくとも1つのDOコードをRAM32Bに記憶する。(S23)。表示装置3は、RAM32Bに記憶された少なくとも1つのDOコードに基づき、UNDOコードを決定し(S29)、履歴情報Usに追加して記憶する(S31)。これにより表示装置3は、UNDOコードを決定する処理の頻度を抑制することで、CPU31の処理負荷を軽減できる。又、表示装置3は、入力操作を受け付けない期間が第2期間経過した場合、又は、保存操作が行われた場合、UNDOコードを決定して履歴情報Usに記憶できる。
 表示装置は、追加操作、変更操作、及び削除操作を入力操作として受け付けた場合(S13:YES)、UNDOコードを決定して履歴情報Usを更新できる。
<第1実施形態の特記事項>
 本発明は第1実施形態に限定されず、種々の変更が可能である。本発明において表示部33に表示されるイメージは文字列に限定されず、図形等であってもよい。データコードCmの形式JSON形式に限定されず、他の形式であってもよい。表示装置3は、メイン領域51の最新表示内容を、別の形式のデータにより管理してもよい。
 表示装置3は、追加操作、変更操作、削除操作に応じて最新表示内容を更新する為の命令コードであるDOコードを、UNDOコードに関連付けて履歴情報Usに追加してもよい。UNDOコードには更に、対応する入力操作が実行された日時、対応する入力操作に付随するコメント情報等が関連付けられ、履歴情報Usに追加されてもよい。
 表示装置3は、操作履歴領域52の2以上の入力操作項目が選択された状態で、UNDO操作を受け付けてもよい。この場合、表示装置3は、選択された2以上の入力操作項目に基づき、対応する2以上のUNDOコードを履歴情報Usから選択してもよい。表示装置3は、選択した2以上のUNDOコードを、入力順とは逆の順番で実行してもよい。これにより表示装置3は、複数の追加操作、変更操作、及び削除操作を一度に取り消して元の表示内容に戻すUNDO機能を実行してもよい。
 表示画面5Aの操作履歴領域52に表示される入力操作項目は、操作順で下から上に向けて並んでいてもよい。入力操作項目には、操作の内容(追加/変更/削除)、操作対象となるイメージに加え、他の情報が対応付けられていてもよい。例えば入力操作項目には、入力操作が実行された日時が対応付けられていてもよい。操作履歴領域52は、UNDOボタン54又はREDOボタン55を選択する操作が行われることに応じて表示されてもよい。
 操作履歴領域52に表示可能な入力操作項目の数の上限値が予め規定されていてもよい。表示装置3は、操作履歴領域52に表示された入力操作項目の数が上限値を超えた場合、操作順で上限値分の入力操作項目を残し、それ以外を選択して削除してもよい。又、表示装置3は、履歴情報Usのうち削除した入力操作項目に対応するUNDOコードを削除してもよい。
 表示装置3が履歴情報Usを更新するタイミング、言い換えれば、第1フラグ制御処理においてフラグをONするタイミングは、第1実施形態に限定されない。例えば表示装置3は、予め定められた周期でフラグをONしてもよい。又、表示装置3は、CPU31の処理負荷が予め定められたレベル以下となった場合、フラグをONしてもよい。又、表示装置3は、追加操作、変更操作、及び削除操作が予め定められた回数実行された場合、フラグをONしてもよい。表示装置3は、追加操作、変更操作、及び削除操作が実行される度、UNDOコードを決定して履歴情報Usに追加してもよい。
 表示装置3は、追加操作、変更操作、及び削除操作以外の入力操作を受け付けた場合でも、対応するUNDOコードを決定して履歴情報Usに追加してもよい。例えば表示装置3は、メイン領域51に表示されたイメージを移動させる動作、イメージの大きさを拡大又は縮小する操作、イメージの色を変更する操作、イメージの書式(フォント)を変更する操作等が行われた場合に、対応するUNDOコードを決定して履歴情報Usに追加してもよい。
 データコードCmは、本発明の「最新表示内容」の一例である。UNDOコードは、本発明の「UNDO処理」の一例である。S13の処理は、本発明の「第1受付ステップ」の一例である。S19の処理は、本発明の「第1記憶ステップ」の一例である。S29の処理は、本発明の「第1決定ステップ」の一例である。S31の処理は、本発明の「第2記憶ステップ」の一例である。S37の処理は、本発明の「第2表示ステップ」の一例である。S41の処理は、本発明の「第2受付ステップ」の一例である。S49の処理は、本発明の「UNDOステップ」の一例である。S47の処理は、本発明の「第3記憶ステップ」の一例である。S33の処理は、本発明の「第1特定ステップ」の一例である。S37の処理は、本発明の「第2表示ステップ」の一例である。S51の処理は、本発明の「選択ステップ」の一例である。S55の処理は、本発明の「第1削除ステップ」の一例である。S57の処理は、本発明の「第2決定ステップ」の一例である。S59の処理は、本発明の「第2削除ステップ」の一例である。S23の処理は、本発明の「第4記憶ステップ」の一例である。
 S13の処理を行うCPU31は、本発明の「第1受付手段」の一例である。S19の処理を行うCPU31は、本発明の「第1記憶手段」の一例である。S29の処理を行うCPU31は、本発明の「第1決定手段」の一例である。S31の処理を行うCPU31は、本発明の「第2記憶手段」の一例である。表示装置3は、本発明の「履歴管理装置」の一例である。
<第2実施形態>
 第2実施形態は、表示装置3の代わりにサーバ装置2が履歴情報Usを管理するという点で、第1実施形態と相違する。第1実施形態と共通する構成及び処理については、説明を省略又は簡略化する。
<通信システム1の概要>
 図9を参照し、通信システム1の概要について説明する。通信システム1は、サーバ装置2及び表示装置3A、3B、3Cを有する。サーバ装置2は、ネットワーク回線4を介してアクセスポイント4Aと通信可能に接続する。表示装置3A、3B、3Cは、夫々、第1実施形態における表示装置3(図1参照)と同一構成を有し、アクセスポイント4Aと無線により通信可能に接続する。サーバ装置2と表示装置3A、3B、3Cとは、ネットワーク回線4及びアクセスポイント4Aを介して相互に通信可能である。
 表示装置3A、3B、3Cの夫々のユーザは、「ユーザA」「ユーザB」「ユーザC」である。ユーザCは、通信システム1の管理者である。表示装置3A~3Cの夫々のフラッシュメモリ32Cには、夫々を使用するユーザを識別する為の識別情報が記憶される。表示装置3A~3Bの表示部33には、表示画面5B(図11参照)が表示される。表示画面5Bの詳細は後述する。
 サーバ装置2は、CPU21、ROM22A、RAM22B、フラッシュメモリ22C、及び通信I/F23を有する。CPU21は、サーバ装置2の制御全般を司る。ROM22Aには、ブートプログラムや設定情報が記憶される。RAM22Bには、CPU21が処理を実行する過程でデータが一時的に記憶される。フラッシュメモリ22Cには、CPU21が実行するための制御プログラム、データコードCm、Ch、履歴情報Us、通信システム1の管理者であるユーザCの識別情報が記憶される。通信I/F23は、ネットワーク回線4及びアクセスポイント4Aを介して表示装置3A~3Cと通信を行う為の通信モジュールである。
 図10に示すように、通信システム1では、表示画面5B(図11参照)のメイン領域51の最新表示内容を示すデータコードCm、及び、操作履歴領域52の表示内容を示すデータコードChが、サーバ装置2から表示装置3A~3Cに対して送信される(S201)。表示装置3A~3Cは、データコードCm、Chを受信し(S203a、S203b、S203c)、表示画面5Bのメイン領域51及び操作履歴領域52を更新して表示する(S205a、S205b、S205c)。これにより、表示装置3A~3Cの夫々の表示画面5Bは、通信システム1内で共有される。
 又、表示装置3A~3Cは、入力部34を介して入力操作が実行された場合、入力操作の詳細を示す入力操作データをサーバ装置2に送信する。例えば表示装置3Aに対して入力操作が実行された場合(S207a)、表示装置3Aは、入力操作データをサーバ装置2に送信する(S209a)。又、表示装置3Aは、サーバ装置2に対して入力操作データを送信する場合、表示装置3Aを使用するユーザAの識別情報を、更にサーバ装置2に送信する(S209a)。
 サーバ装置2は、各表示装置3Aから入力操作データ及び識別情報を受信する(S211)。サーバ装置2は、受信した入力操作データに基づき、データコードCm、Chを更新する(S213)。サーバ装置2は、更新したデータコードCm、Chを、表示装置3A~3Cに送信する(S221)。表示装置3A~3Cは、データコードCm、Chを受信し(S223a、S223b、S223c)、表示画面5Bのメイン領域51及び操作履歴領域52を更新して表示する(S225a、S225b、S225c)。これにより、表示装置3Aに対して入力操作が行われた場合でも、この入力操作に応じて更新された表示画面5Bが表示装置3A~3C間で共有される。
 図11は、第2実施形態において表示装置3の表示部33に表示される表示画面5Bを示す。第1実施形態における表示画面5A(図4参照)と異なる点は、入力操作が実行された表示装置3のユーザを示す識別情報が、入力操作に対応付けられて操作履歴領域52に表示される点である。メイン領域51、保存ボタン53、UNDOボタン54、及びREDOボタン55は、第1実施形態の表示画面5Aと同一である。
 なお、サーバ装置2は、受信した入力操作データが、追加操作、変更操作、及び削除操作を示す場合、対応するDOコードに基づき、更新後表示内容を更新前表示内容に戻す為に必要なUNDOコードを決定する。図10に示すように、サーバ装置2は、決定したUNDOコードに、受信した識別情報及び操作順に関連付けて、履歴情報Usに追加してフラッシュメモリ22Cに記憶する(S215)。つまり、第2実施形態では、第1実施形態と異なり、履歴情報UsのUNDOコードに識別情報が更に関連付けられ、サーバ装置2のフラッシュメモリ22Cに記憶される。
<第2フラグ制御処理>
 図12を参照し、第2フラグ制御処理について説明する。第2フラグ制御処理は、サーバ装置2の電源が投入された場合、フラッシュメモリ22Cに記憶された制御プログラムをCPU21が読み出して実行することにより開始される。フラグはRAM22Bに記憶される。フラグは、後述する第2メイン処理(図13~図16参照)において参照される。第2フラグ制御処理の開始時、フラグはOFFである。
 CPU21は、フラグがOFFであるか判定する(S101)。CPU21は、フラグがONであると判定した場合(S101:NO)、処理をS101に戻す。CPU21は、フラグがOFFであると判定した場合(S101:YES)、フラグがOFFの状態且つ入力操作データを受信しない状態で、第2期間以上経過したか判定する(S103)。CPU31は、フラグがOFFの状態且つ入力操作データを受信しない状態で、第2期間以上経過したと判定した場合(S103:YES)、フラグをONする(S105)。CPU31は、処理をS101に戻す。
<第2メイン処理>
 図13~図16を参照し、第2メイン処理について説明する。第2メイン処理は、サーバ装置2の電源が投入された場合、フラッシュメモリ22Cに記憶された制御プログラムをCPU21が読み出して実行することにより開始される。第2メイン処理は、第2フラグ制御処理と並列して実行される。第2メイン処理の開始時、RAM22Bに記憶された変数iに0が設定される。
 CPU21は、表示装置3A~3Cの何れかから送信された入力操作データ及び識別情報を受信したか判定する(S111)。CPU21は、入力操作データ及び識別情報を受信していないと判定した場合(S111:NO)、処理をS125に進める。CPU21は、入力操作データ及び識別情報を受信した場合(S111:YES)、受信した入力操作データに基づき、表示装置3に対して実行された入力操作が、追加操作、変更操作、及び削除操作の何れかであるか判定する(S113)。
 CPU21は、追加操作、変更操作、及び削除操作の何れかであると判定した場合(S113:YES)、変数iに1を加算して更新する(S115)。CPU21は、追加操作、変更操作、及び削除操作に対応するDOコードを特定する(S117)。CPU21は、特定したDOコードを実行することによりデータコードCmを更新し、フラッシュメモリ22Cに記憶する(S119)。CPU21は、フラッシュメモリ22Cに記憶されたデータコードCmを、表示装置3A~3Cに対して送信する(S121)。CPU21は、S117の処理により特定したDOコードに、S111の処理により受信した識別情報と変数iとを関連付けて、RAM22Bに一時的に記憶する(S123)。
 なお、S121の処理により送信されたデータコードCmを受信した表示装置3A~3Cは、夫々、表示画面5Bのメイン領域51の最新表示内容を、データコードCmに基づき更新して表示する。
 CPU21はRAM22Bに記憶されたフラグがONであるか判定する(S125)。CPU21は、フラグがOFFである場合(S125:NO)、処理をS111に戻す。CPU21は、フラグがONするまで、S111~S123の処理を繰り返す。この間、追加操作、変更操作、及び削除操作を示す入力操作データを表示装置3から受信する度、変数iの更新(S115)、DOコードの特定(S117)、データコードCmの更新及び記憶(S119)、データコードCmの送信(S121)、及びDOコードの一時記憶(S123)が繰り返される。
 CPU21は、RAM22Bに記憶されたフラグがONであると判定した場合(S125:YES)、フラグをOFFする(S127)。CPU21は、S123の処理によってRAM22Bに記憶したDOコードを取得する。なお第2フラグ制御処理(図12参照)において、入力操作データが受信されない状態で第2期間以上経過した場合(S103:YES)、フラグがONされる(S105)。このためCPU21は、入力操作データを受信しない期間が第2期間経過したタイミングから、次に入力操作データを受信しない期間が第2期間経過したタイミングまでの第1期間にRAM22Bに記憶されたDOコードを取得することになる。
 CPU21は、取得したDOコードとデータコードCmとに基づき、更新後表示内容を更新前表示内容に戻す為に必要な命令コードであるUNDOコードを、取得したDOコード毎に決定する(S129)。CPU21は、UNDOコードを決定するときに参照したDOコードに関連付けられた変数iを、操作順としてUNDOコードに関連付ける。又、CPU21は、UNDOコードを決定するときに参照したDOコードに関連付けられた識別情報を、UNDOコードに関連付ける。CPU21は、操作順及び識別情報が関連付けられたUNDOコードを、フラッシュメモリ32Cの履歴情報Usに追加して記憶する(S131)。CPU21は、RAM22Bに複数のDOコードが記憶されている場合、記憶されたすべてのDOコードに対して、上記の処理を実行する。その後、CPU21は、RAM22Bに記憶されたDOコードを全て削除する。
 CPU21は、フラッシュメモリ22Cに記憶された履歴情報UsからUNDOコードを取得する。CPU21は、取得したUNDOコードとデータコードCmとに基づき、更新前表示内容を更新後表示内容に更新する為に必要なDOコードを、取得したUNDOコード毎に特定する(S133)。CPU21は、特定したDOコードに対応する入力操作項目と、DOコードを特定するときに参照したUNDOコードに関連付けられた識別情報とを、UNDOコードに関連付けられた操作順と同じ順番で表示する為に、表示画面5Bの操作履歴領域52の表示内容を示すデータコードChを更新する(S135)。CPU21は、更新されたデータコードChを、表示装置3A~3Cに対して送信する(S137)。CPU21は、処理をS111に戻す。
 なお、S137の処理により送信されたデータコードChを受信した表示装置3A~3Cは、夫々、表示画面5Bの操作履歴領域52の表示内容を、データコードChに基づき更新して表示する。これにより、図11に示すように入力操作項目と、対応する入力操作を行った表示装置3A~3Cのユーザを示す識別情報とが対応付けられ、表示画面5Bの操作履歴領域52に表示される。なお、操作履歴領域52において表示される入力操作項目及び識別情報の順番は、対応する入力操作の操作順に対応する。
 CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作が追加操作、変更操作、及び削除操作の何れかでもないと判定した場合(S113:NO)、処理をS141(図14参照)に進める。図14に示すように、CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作がUNDO操作であるか判定する(S141)。CPU21は、UNDO操作であると判定した場合(S141:YES)、処理をS143に進める。
 CPU21は、変数iから1減算して更新する(S143)。CPU21は、フラッシュメモリ22Cに記憶された履歴情報Usから、変数iと一致する操作順に関連付けられたUNDOコード、及び、このUNDOコードに関連付けられた識別情報を選択する(S145)。
 CPU21は、選択した識別情報と、UNDO操作を示す入力操作データを受信する時に併せて受信した識別情報とが一致するか判定する(S301)。CPU21は、識別情報が一致すると判定した場合(S301:YES)、処理をS147に進める。CPU21は、選択したUNDOコードを実行することによりデータコードCmを更新する。CPU21は、更新後のデータコードCmをフラッシュメモリ32Cに記憶する(S147)。CPU21は、フラッシュメモリ22Cに記憶されたデータコードCmを、表示装置3A~3Cに送信する(S149)。これにより、更新前表示内容が、最新表示内容を示すデータコードCmとしてフラッシュメモリ32Cに記憶された状態となる。CPU21は、処理をS111(図13参照)に戻す。
 なお、S149の処理により送信されたデータコードCmを受信した表示装置3A~3Cは、夫々、表示画面5Bのメイン領域51の最新表示内容を、データコードCmに基づき更新して表示する。これにより、メイン領域51の最新表示内容は、UNDO操作により更新後表示内容に更新される前の表示内容(更新前表示内容)に戻る。
 CPU21は、履歴情報Usから選択したUNDOコードに関連付けられた識別情報と、UNDO操作を示す入力操作データを受信する時に併せて受信した識別情報とが一致しないと判定した場合(S301:NO)、処理をS303に進める。CPU21は、UNDO操作を示す入力操作データを受信する時に併せて受信した識別情報が、通信システム1の管理者を示す識別情報と一致するかを、フラッシュメモリ22Cに記憶された管理者の識別情報に基づき判定する(S303)。CPU21は、受信した識別情報が管理者を示す識別情報と一致すると判定した場合(S303:YES)、処理をS147に進める。S147、S149の処理は、識別情報が一致すると判定された場合と同様であるので、説明を省略する。
 CPU21は、受信した識別情報と、通信システム1の管理者を示す識別情報とが一致しないと判定した場合(S303:NO)、S143で更新した変数iを元に戻す為、変数iに1を加算して更新する(S305)。この場合、表示装置3の表示画面5Bのメイン領域51を更新後表示内容から更新後表示内容に戻す為の処理(データコードCmの更新(S147)、及び送信(S149))は実行されない。CPU21は、処理をS111(図13参照)に戻す。
 CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作がUNDO操作でないと判定した場合(S141:NO)、処理をS151(図15参照)に進める。図15に示すように、CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作が選択操作であるか判定する(S151)。CPU21は、選択操作であると判定した場合(S151:YES)、処理をS311に進める。
 CPU21は、入力操作データに基づき、表示装置3において実行された選択操作により選択された入力操作項目を特定する。CPU21は、特定された入力操作項目に対応するDOコードを特定し、更に、特定したDOコードに基づき、更新後表示内容を更新前表示内容に戻すためのUNDOコードを決定する(S311)。CPU31は、履歴情報Usのうち、決定したUNDOコードと同じUNDOコードに関連付けられた識別情報を選択する(S313)。
 CPU21は、選択した識別情報と、選択操作を示す入力操作データを受信する時に併せて受信した識別情報とが一致するか判定する(S315)。CPU21は、識別情報が一致すると判定した場合(S313:YES)、処理をS153に進める。CPU21は、表示画面5Bの操作履歴領域52から、選択操作により選択された入力操作項目が削除されるよう、フラッシュメモリ22Cに記憶されたデータコードChを更新する(S153)。CPU21は、更新したデータコードChを、表示装置3A~3Cに送信する(S155)。又、CPU21は、S311の処理により決定したUNDOコードを、履歴情報Usから削除する(S159)。CPU21は、処理をS111(図13参照)に戻す。
 なお、S155の処理により送信されたデータコードChを受信した表示装置3A~3Cは、夫々、表示画面5Bの操作履歴領域52の表示内容を、データコードChに基づき更新して表示する。これにより、表示装置3A~3Cの夫々の表示画面5Bの操作履歴領域52のうち、選択操作により選択された入力操作項目が削除される。
 CPU21は、履歴情報Usのうち決定したUNDOコードと同じUNDOコードに関連付けられた識別情報と、選択操作を示す入力操作データを受信する時に併せて受信した識別情報とが一致しないと判定した場合(S315:NO)、処理をS317に進める。CPU21は、選択操作を示す入力操作データを受信する時に併せて受信した識別情報が、通信システム1の管理者を示す識別情報と一致するかを、フラッシュメモリ22Cに記憶された管理者の識別情報に基づき判定する(S317)。CPU21は、受信した識別情報が管理者を示す識別情報と一致すると判定した場合(S317:YES)、処理をS153に進める。S153~S159の処理は、識別情報が一致すると判定された場合と同様であるので、説明を省略する。
 CPU21は、受信した識別情報と、通信システム1の管理者を示す識別情報とが一致しないと判定した場合(S317:NO)、処理をS111(図13参照)に戻す。この場合、表示装置3の表示画面5Bの操作履歴領域52から、選択操作により選択された入力操作項目を削除する処理(データコードChの更新(S153)、送信(S155)、履歴情報Usの更新(S159))は実行されない。
 CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作が選択操作でないと判定した場合(S151:NO)、処理をS161(図16参照)に進める。図16に示すように、CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作がREDO操作であるか判定する(S161)。CPU21は、REDO操作であると判定した場合(S161:YES)、処理をS165に進める。
 CPU21は、フラッシュメモリ22Cに記憶された履歴情報Usから、変数iと一致する操作順に関連付けられたUNDOコードを選択する(S165)。CPU21は、選択したUNDOコードに基づき、更新前表示内容を更新後表示内容に更新する為に実行されるDOコードを特定する(S167)。CPU21は、特定したDOコードを実行することによりデータコードCmを更新し、フラッシュメモリ22Cに記憶する(S169)。CPU21は、フラッシュメモリ22Cに記憶されたデータコードCmを、表示装置3A~3Cに送信する(S171)。CPU21は、変数iに1加算して更新する(S173)。CPU21は、処理をS111(図13参照)に戻す。
 なお、S171の処理により送信されたデータコードCmを受信した表示装置3A~3Cは、夫々、表示画面5Bのメイン領域51の最新表示内容を、データコードCmに基づき更新して表示する。これにより、メイン領域51の最新表示内容は、UNDO操作により更新された更新前表示内容から、更新後表示内容に戻る。
 CPU21は、受信した入力操作データに基づき、表示装置3に対して実行された入力操作がREDO操作でないと判定した場合(S161:NO)、入力操作に応じた処理を実行し(S181)、処理をS111(図13参照)に戻す。
<第2実施形態の作用、効果>
 サーバ装置2は、UNDO操作を示す入力操作データを受信した場合(S141:YES)、履歴情報Usを参照し、操作順とは逆の順番でUNDOコードを選択する(S143、S145)。サーバ装置2は、選択したUNDOコードをそのままを実行することでデータコードCmを更新し、(S147)、表示装置3に送信する(S149)。表示装置3では、サーバ装置2から受信したデータコードCmに基づき、表示画面5Bのメイン領域51の最新表示内容を更新後表示内容から更新前表示内容に更新する。このためサーバ装置2は、表示装置3にUNDO機能を実行させることができる。サーバ装置2は、履歴情報Usに記憶された複数の命令コードを参照することなく、表示装置3にUNDO機能を実行させることができるので、UNDO機能を効率良く実行させることができる。
 サーバ装置2は、UNDO操作を示す入力操作データを受信した場合(S141:YES)、履歴情報UsのUNDOコードそのまま実行してデータコードCmを更新する(S147)。サーバ装置2は、更新したデータコードCmを表示装置に送信する(S149)。これにより、表示装置3の表示画面5Bのメイン領域51の最新表示内容は、更新後表示内容から、元の更新前表示内容に戻される。従って、表示装置3のユーザは、入力部34を介してUNDO操作を行うことで、表示装置3にUNDO機能を実行させることができる。
 サーバ装置2は、履歴情報Usとして記憶されたUNDOコードに関連付けられた識別情報と、UNDO操作を示す入力操作データを受信する時に併せて受信した識別情報とが一致する場合(S301:YES)、UNDOコードを実行してデータコードCmを更新し(S147)、データコードCmを表示装置3に送信する(S149)。この場合、サーバ装置2は、入力操作を行ったユーザ以外のユーザが、この入力操作を取り消す為のUNDO操作を行った場合において、メイン領域51の最新表示内容が更新後表示内容から更新前表示内容に更新されることを禁止できる。つまりサーバ装置2は、入力操作を行ったユーザが、自身でこの入力操作を取り消す為のUNDO操作を行った場合に、メイン領域51の最新表示内容を更新後表示内容から更新前表示内容に更新させることができる。
 サーバ装置2は、UNDO操作を示す入力操作データを受信するときに併せて受信した識別情報が、通信システム1の管理者の識別情報と一致する場合(S303:YES)、UNDOコードを実行してデータコードCmを更新し(S147)、データコードCmを表示装置3に送信する(S149)。この場合、サーバ装置2は、入力操作を行ったユーザ以外のユーザが、この入力操作を取り消す為のUNDO操作を行った場合でも、ユーザが管理者である場合には、メイン領域51の最新表示内容を更新後表示内容から更新前表示内容に更新させることができる。
 サーバ装置2は、履歴情報UsのUNDOコードに基づき、更新前表示内容を更新後表示内容に更新する為に必要なDOコードを特定する(S133)。サーバ装置2は、特定したDOコードに対応する入力操作項目と、入力操作を行ったユーザの識別情報とを関連付けて表示画面5Bの操作履歴領域52に表示されるよう、データコードChを更新する(S135)。サーバ装置2は、更新したデータコードChを表示装置3に送信する(S137)。従って、表示装置3のユーザは、操作履歴領域52に操作順で表示される入力操作項目を視認することにより、入力操作の履歴を把握できる。又、表示装置3のユーザは、入力操作を行ったユーザを併せて確認できる。
 サーバ装置2は、履歴情報Usとして記憶されたUNDOコードに関連付けられた識別情報と、選択操作を示す入力操作データを受信するときに併せて受信した識別情報とが一致する場合(S315:YES)、選択された入力操作項目が操作履歴領域52から削除されるようデータコードChを更新し(S153)、表示装置3に送信する(S155)。又、サーバ装置2は、履歴情報Usのうち、選択された入力操作項目に対応するUNDOコードを決定し(S311)、履歴情報Usから削除する(S159)。
 この場合、サーバ装置2は、入力操作を行ったユーザ以外のユーザが、この入力操作に対応するUNDOコードを履歴情報Usから削除する為の選択操作を行った場合において、操作履歴領域52の入力操作項目が削除され且つ履歴情報UsからUNDOコードが削除されることを禁止できる。つまりサーバ装置2は、入力操作を行ったユーザが、自身でこの入力操作に対する選択操作を行った場合に、操作履歴領域52の表示内容を更新させ、且つ、履歴情報UsからUNDOコードを削除できる。
<第2実施形態の特記事項>
 本発明は第2実施形態に限定されず、種々の変更が可能である。なお、第1実施形態において説明した変形例については、適宜、第2実施形態にも適用可能である。
 表示装置3はサーバ装置2に対し、データコードCm、Chを要求する要求データを周期的に送信してもよい。サーバ装置2は、表示装置3から要求データを受信したタイミングで、表示装置3に対してデータコードCm、Chを送信してもよい。又は、サーバ装置2は、予め定められた周期でデータコードCm、Chを表示装置3に繰り返し送信してもよい。第2実施形態において説明したサーバ装置2の機能は、サーバ装置2の代わりに、表示装置3A~3Cの何れか(マスター表示装置)により実行されてもよい。
 第2実施形態では、表示装置3を使用するユーザの識別情報が、入力操作データと共に表示装置3からサーバ装置2に送信された。なお、ユーザにより使用される表示装置3が、ユーザ毎に固定的である場合、識別情報は、表示装置3を間接的に識別する識別情報であるといえる。これに対し、表示装置3は、表示装置3を直接的に識別する識別情報(例えば、表示装置3の製造番号、MACアドレス、IPアドレス等)を、入力操作データとともにサーバ装置2に送信してもよい。表示画面5Bの操作履歴領域52には、入力操作項目と、表示装置3を直接的に識別する識別情報が対応付けられて表示されてもよい。
 表示装置3は、更新後表示内容を更新前表示内容に戻す為のUNDO操作を受け付けた場合、更新前表示内容を更新後表示内容に更新する為の入力操作が入力部34を介して過去に実行されたか判定してもよい。表示装置3は、入力操作が過去に実行されている場合にのみ、UNDO操作を示す入力操作データをサーバ装置2に送信してもよい。一方、表示装置3は、入力操作が過去に実行されていない場合、UNDO操作を示す入力操作データをサーバ装置2に送信せず、UNDO機能を禁止してもよい。即ち、表示装置3は、ユーザが行った入力操作を元に戻す為のUNDO操作が、このユーザにより実行された場合にのみ、UNDO機能を有効にしてもよい。
 表示装置3は、操作履歴領域52の2以上の入力操作項目を選択した状態で、UNDO操作を受け付けてもよい。この場合、表示装置3は、選択された2以上の入力操作項目のうち、入力部34を介して過去に実行された入力操作の入力操作項目を抽出してもよい。表示装置3は、抽出した入力操作項目に対応する入力操作を元に戻す為のUNDO操作を示す入力操作データを、サーバ装置2に送信してもよい。一方、サーバ装置2は、受信した入力操作データに基づき、UNDOコードを履歴情報Usから選択し、選択したUNDOコードを実行してもよい。
 表示装置3は、操作履歴領域52の入力操作項目を選択する選択操作を受け付けた場合、選択された入力操作項目に対応する入力操作が、入力部34を介して過去に実行されたか判定してもよい。表示装置3は、入力部34を介して過去に実行された入力操作に対応する入力操作項目を抽出し、これらの選択操作を示す入力操作データをサーバ装置2に送信してもよい。一方、表示装置3は、入力部34を介して過去に実行されていない入力操作に対応する入力操作項目については、選択操作を示す入力操作データをサーバ装置2に送信せず、サーバ装置2が履歴情報UsからUNDOコードを削除する機能を禁止してもよい。即ち、表示装置3は、ユーザが行った入力操作を選択して削除する為の選択操作が、このユーザにより実行された場合にのみ、操作履歴領域52のうち選択された入力操作項目を削除してもよい。
 S113の処理は、本発明の「第1受付ステップ」の一例である。S119の処理は、本発明の「第1記憶ステップ」の一例である。S129の処理は、本発明の「第1決定ステップ」の一例である。S131の処理は、本発明の「第2記憶ステップ」の一例である。S137の処理は、本発明の「第2表示ステップ」の一例である。S141の処理は、本発明の「第2受付ステップ」の一例である。S149の処理は、本発明の「UNDOステップ」の一例である。S147の処理は、本発明の「第3記憶ステップ」の一例である。S133の処理は、本発明の「第1特定ステップ」の一例である。S137の処理は、本発明の「第2表示ステップ」の一例である。S151の処理は、本発明の「第3受付ステップ」の一例である。S155の処理は、本発明の「第1削除ステップ」の一例である。S311の処理は、本発明の「第2決定ステップ」の一例である。S159の処理は、本発明の「第2削除ステップ」の一例である。S23の処理は、本発明の「第4記憶ステップ」の一例である。
 S113の処理を行うCPU31は、本発明の「第1受付手段」の一例である。S119の処理を行うCPU31は、本発明の「第1記憶手段」の一例である。S129の処理を行うCPU31は、本発明の「第1決定手段」の一例である。S131の処理を行うCPU31は、本発明の「第2記憶手段」の一例である。サーバ装置2は、本発明の「履歴管理装置」の一例である。
1    :通信システム
2    :サーバ装置
3、3A、3B、3C   :表示装置
21、31   :CPU
51   :メイン領域
52   :操作履歴領域

Claims (14)

  1.  表示部の表示内容を更新する為の入力操作を受け付ける第1受付ステップと、
     前記第1受付ステップにより受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶ステップと、
     前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定ステップと、
     前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶ステップと
    を、コンピュータに実行させる為の履歴管理プログラム。
  2.  前記最新表示内容を前記表示部に表示する第1表示ステップと、
     前記第1表示ステップにより表示された前記最新表示内容を前記更新前表示内容に戻す為のUNDO操作を受け付ける第2受付ステップと、
     前記第2受付ステップにより前記UNDO操作を受け付けた場合、前記記憶部に記憶された前記履歴情報を参照し、前記操作順とは逆の順番で選択した前記UNDO処理を実行し、前記最新表示内容の代わりに前記更新前表示内容を前記表示部に表示するUNDOステップと、
     前記更新前表示内容を前記最新表示内容として前記記憶部に記憶する第3記憶ステップと
    を、更に前記コンピュータに実行させることを特徴とする請求項1に記載の履歴管理プログラム。
  3.  前記第2記憶ステップにより前記記憶部に記憶された前記履歴情報を参照し、前記第1受付ステップにより受け付けた前記入力操作を、前記UNDO処理に基づいて特定する第1特定ステップと、
     前記第1特定ステップにより特定した前記入力操作を、前記操作順で前記表示部に表示する第2表示ステップと
    を、更に前記コンピュータに実行させることを特徴とする請求項1又は2に記載の履歴管理プログラム。
  4.  前記第2表示ステップにより前記表示部に表示された前記入力操作の何れかを選択する選択ステップと、
     前記選択ステップにより選択された前記入力操作を、前記表示部から削除する第1削除ステップと
     前記選択ステップにより選択された前記入力操作に応じて更新された前記表示内容を更新前の前記表示内容に戻す為に必要な前記UNDO処理を決定する第2決定ステップと、
     前記第2決定ステップにより決定された前記UNDO処理を、前記記憶部に記憶された前記履歴情報から削除する第2削除ステップと、
    を、更に前記コンピュータに実行させることを特徴とする請求項3に記載の履歴管理プログラム。
  5.  前記第2記憶ステップは、
      前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより前記入力操作を受け付けた表示装置を識別する為の識別情報と、前記操作順とに関連付け、前記履歴情報として前記記憶部に記憶する
    ことを特徴とする請求項1から4の何れかに記載の履歴管理プログラム。
  6.  前記第2記憶ステップは、
      前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより前記入力操作を受け付けた表示装置を識別する為の識別情報と、前記操作順とに関連付け、前記履歴情報として前記記憶部に記憶し、
     前記UNDOステップは、
      前記記憶部に記憶された前記履歴情報を参照し、前記操作順とは逆の順番で選択した前記UNDO処理に関連付けられた前記識別情報が、前記第2受付ステップにより前記UNDO操作を受け付けた前記表示装置を識別する為の前記識別情報と一致する場合、選択した前記UNDO処理を実行し、前記最新表示内容の代わりに前記更新前表示内容を前記表示部に表示する
    ことを特徴とする請求項2に記載の履歴管理プログラム。
  7.  前記第2記憶ステップは、
      前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより前記入力操作を受け付けた表示装置を識別する為の識別情報と、前記操作順とに関連付け、前記履歴情報として前記記憶部に記憶し、
     前記UNDOステップは、
      前記第2受付ステップにより前記UNDO操作を受け付けた前記表示装置の前記識別情報が予め定められた条件を満たす場合、前記記憶部に記憶された前記履歴情報を参照し、前記操作順とは逆の順番で選択した前記UNDO処理を実行し、前記最新表示内容の代わりに前記更新前表示内容を前記表示部に表示する
    ことを特徴とする請求項2に記載の履歴管理プログラム。
  8.  前記第2記憶ステップは、
      前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより前記入力操作を受け付けた表示装置を識別する為の識別情報と、前記操作順とに関連付け、前記履歴情報として前記記憶部に記憶し、
     前記第2表示ステップは、
      前記第1特定ステップにより特定した前記入力操作と、前記UNDO処理に対応付けられた前記識別情報とを、前記操作順で前記表示部に表示することを特徴とする請求項3に記載の履歴管理プログラム。
  9.  前記第2表示ステップにより前記表示部に表示された前記入力操作の何れかを選択する選択操作を、前記表示装置から受け付ける第3受付ステップと、
     前記第3受付ステップにより前記選択操作を受け付けた前記表示装置を識別する為の前記識別情報が、前記選択操作により選択された前記入力操作に対応付けられた前記識別情報と一致する場合、前記第3受付ステップにより受け付けられた前記選択操作により選択された前記入力操作を、前記表示部から削除する第1削除ステップと、
     前記第3受付ステップにより受け付けられた前記選択操作により選択された前記入力操作に応じて更新された前記表示内容を更新前の前記表示内容に戻す為に必要な前記UNDO処理を決定する第2決定ステップと、
     前記第2決定ステップにより決定された前記UNDO処理を、前記記憶部に記憶された前記履歴情報から削除する第2削除ステップと、
    を、更に前記コンピュータに実行させることを特徴とする請求項8に記載の履歴管理プログラム。
  10.  前記第1受付ステップにより少なくとも1回受け付けた前記入力操作を、前記記憶部に第1期間記憶する第4記憶ステップを、更に前記コンピュータに実行させ、
     前記第1決定ステップは、
      前記第4記憶ステップにより前記記憶部に記憶された少なくとも1回の前記入力操作に基づき、前記UNDO処理を決定することを特徴とする請求項1から9の何れかに記載の履歴管理プログラム。
  11.  前記第1期間の開始タイミングは、
      前記第1受付ステップにより前記入力操作を受け付けない期間が第2期間経過したタイミングか、又は、前記表示部の前記表示内容を保存する為の保存操作を受け付けたタイミングであり、
     前記第1期間の終了タイミングは、前記開始タイミングの後で前記第1受付ステップにより前記入力操作を受け付けない期間が前記第2期間経過したタイミングか、又は、前記開始タイミングの後で前記保存操作を受け付けたタイミングである
    ことを特徴とする請求項10に記載の履歴管理プログラム。
  12.  前記第1受付ステップは、前記入力操作として、
      前記表示部に新たなイメージを表示させる為の操作、
      前記表示部に表示された前記イメージを、別のイメージに変更する為の操作、及び、
      前記表示部に表示された前記イメージを削除する為の操作
    を受け付けることを特徴とする請求項1から11の何れかに記載の履歴管理プログラム。
  13.  表示部の表示内容を更新する為の入力操作を受け付ける第1受付ステップと、
     前記第1受付ステップにより受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶ステップと、
     前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定ステップと、
     前記第1決定ステップにより決定した前記UNDO処理を、前記第1受付ステップにより受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶ステップと
    を備えたことを特徴とする履歴管理方法。
  14.  表示部の表示内容を更新する為の入力操作を受け付ける第1受付手段と、
     前記第1受付手段により受け付けた前記入力操作に応じて更新された前記表示内容を、最新表示内容として記憶部に記憶する第1記憶手段と、
     前記最新表示内容を、更新前の前記表示内容である更新前表示内容に戻す為に必要なUNDO処理を決定する第1決定手段と、
     前記第1決定手段により決定した前記UNDO処理を、前記第1受付手段により受け付けた前記入力操作の順番である操作順と関連付け、履歴情報として前記記憶部に記憶する第2記憶手段と
    を備えたことを特徴とする履歴管理装置。
PCT/JP2022/045434 2021-12-16 2022-12-09 履歴管理プログラム、履歴管理方法、及び履歴管理装置 WO2023112852A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22907379.6A EP4451169A1 (en) 2021-12-16 2022-12-09 History management program, history management method, and history management device
US18/742,285 US20240330573A1 (en) 2021-12-16 2024-06-13 Non-Transitory Computer-Readable Storage Medium Storing History Management Program, History Management Method, and History Management Device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021204627A JP2023089864A (ja) 2021-12-16 2021-12-16 履歴管理プログラム、履歴管理方法、及び履歴管理装置
JP2021-204627 2021-12-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/742,285 Continuation US20240330573A1 (en) 2021-12-16 2024-06-13 Non-Transitory Computer-Readable Storage Medium Storing History Management Program, History Management Method, and History Management Device

Publications (1)

Publication Number Publication Date
WO2023112852A1 true WO2023112852A1 (ja) 2023-06-22

Family

ID=86774731

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/045434 WO2023112852A1 (ja) 2021-12-16 2022-12-09 履歴管理プログラム、履歴管理方法、及び履歴管理装置

Country Status (4)

Country Link
US (1) US20240330573A1 (ja)
EP (1) EP4451169A1 (ja)
JP (1) JP2023089864A (ja)
WO (1) WO2023112852A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265171A (ja) 2006-03-29 2007-10-11 Toshiba Corp 入力装置およびその方法
JP2011141701A (ja) * 2010-01-06 2011-07-21 Fujitsu Ltd データ編集方法、データ編集プログラムおよびデータ編集装置
JP2014021511A (ja) * 2012-07-12 2014-02-03 Sony Corp 表示制御装置、表示制御方法、プログラム、及び通信システム
JP2015018310A (ja) * 2013-07-09 2015-01-29 シャープ株式会社 入出力端末装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265171A (ja) 2006-03-29 2007-10-11 Toshiba Corp 入力装置およびその方法
JP2011141701A (ja) * 2010-01-06 2011-07-21 Fujitsu Ltd データ編集方法、データ編集プログラムおよびデータ編集装置
JP2014021511A (ja) * 2012-07-12 2014-02-03 Sony Corp 表示制御装置、表示制御方法、プログラム、及び通信システム
JP2015018310A (ja) * 2013-07-09 2015-01-29 シャープ株式会社 入出力端末装置

Also Published As

Publication number Publication date
US20240330573A1 (en) 2024-10-03
JP2023089864A (ja) 2023-06-28
EP4451169A1 (en) 2024-10-23

Similar Documents

Publication Publication Date Title
CN110339568B (zh) 虚拟控件的显示方法、装置、存储介质和电子装置
CN112657182A (zh) 游戏装备切换方法、装置、系统和终端设备
CN108038009B (zh) 基于Web应用的前后端交互方法、装置及计算机设备
CN113590146A (zh) 服务器及容器升级方法
CN105335419B (zh) 网页图片加载方法和装置
CN112631591A (zh) 表元素联动方法、装置、设备与计算机可读存储介质
CN113220393A (zh) 显示方法、装置和电子设备
JP2018143500A (ja) 情報処理装置、ゲームプログラム、及び、情報処理方法
US20220229638A1 (en) Content development device
WO2023112852A1 (ja) 履歴管理プログラム、履歴管理方法、及び履歴管理装置
JP2015227001A (ja) 印刷装置
CN105204858B (zh) 一种自定义图标的系统及方法
CN111191174A (zh) 雪碧图集成方法、系统及装置
US10545646B2 (en) Enabling and disabling one-click clauses
CN106484912A (zh) 一种云盘资源的处理方法和装置
CN106919300B (zh) 在浏览器窗口上展现定制信息的方法、装置和设备
EP2463784A1 (en) Method and human-to-machine interface apparatus for searching files
CN109508434B (zh) 区块生成方法、网页渲染方法及装置
JP2001005748A (ja) 共用のデータ表示装置及び記憶媒体
JP2018143757A (ja) 情報処理装置、ゲームプログラム、及び、情報処理方法
JP2002042147A (ja) データ管理装置及び記憶媒体
CN112286620B (zh) 应用程序交互方法、装置、电子设备及存储介质
JP7139888B2 (ja) 情報処理装置
JP6453986B2 (ja) 通信端末、プログラム、通信端末の制御方法及び通信システム
CN112346619B (zh) 组态软件控制方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22907379

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022907379

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022907379

Country of ref document: EP

Effective date: 20240716