This disclosure relates generally to editing text, and more specifically, relates to range adjustment for text editing.
For editing of text data, a computer may perform an operation for specifying an appropriate range of text displayed on the screen of a display device, copying or cutting the text in the specified range, and pasting the text to a different position. Range specification for text is performed using a pointing device, such as a mouse or a cursor key on a keyboard, by specifying the positions of the ends of a range to be specified while moving the pointing device displayed on the screen of the display device.
Embodiments include a method, system, and computer program product for text editing. An aspect includes receiving a range specifying operation for performing range specification for at least part of the text displayed on a display device of the computer. Another aspect includes causing a storing unit to store therein specific text including text in the range specified by the received range specifying operation and other text relating to the specified range. Another aspect includes displaying the specific text stored in the storing unit together with the text in the specified range on the display device. Another aspect includes receiving a changing operation for changing the text in the specified range. Another aspect includes determining whether or not a change beyond a specific criterion has occurred in the text in the range specified by the received range specifying operation. Another aspect includes displaying the specific text stored in the storing unit on the display device based on determining that a change beyond the specific criterion has occurred in the text in the range.
Additional features are realized through the techniques of the present exemplary embodiment. Other embodiments are described in detail herein and are considered a part of what is claimed. For a better understanding of the features of the exemplary embodiment, refer to the description and to the drawings.
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
Embodiments of range adjustment for text editing are provided, with exemplary embodiments being discussed below in detail. When a range of text to be subjected to a copy operation or a cut operation is specified using a pointing device, such as a mouse, a range that is different from a range intended by an operator may be specified due to the hand motion of the operator who is operating the pointing device. In such a case, if the operator performs a paste operation with the incorrect range being specified, text not intended by the operator is pasted. An operator can be prevented from performing a paste operation while specifying an incorrect range in a copy operation or a cut operation, and an incorrect operation in text editing can be suppressed.
A text editing apparatus includes a display control unit that displays text to be edited on a display device; an operation receiving unit that receives a range specifying operation for performing range specification for at least part of the text displayed on the display device; a storing unit that stores therein specific text (specified range candidate text) including the text in the range specified by the range specifying operation received by the operation receiving unit and other text relating to the specified range; and an editing processing unit that causes, at a time of performing text pasting processing, the display control unit to display on the display device the specific text stored in the storing unit together with the text in the specified range, and performs, in a case where a changing operation for changing the text in the specified range is received, paste processing by changing text to be pasted in accordance with the changing operation. Furthermore, the apparatus is configured to further include a determining unit that determines whether or not a change beyond a specific criterion has occurred in the range of text specified by the range specifying operation received by the operation receiving unit. In a case where the determining unit determines that a change beyond the specific criterion has occurred in the range of the text, the editing processing unit causes the display control unit to display on the display device the specific text stored in the storing unit. In the apparatus, the storing unit may be configured to store, as the specific text, text in a specific range that includes the text in the range specified in accordance with the range specifying operation received by the operation receiving unit and that is defined on the basis of the specified range, together with the text in the specified range. Furthermore, the storing unit may be configured to additionally stores in a sequential manner, in accordance with progress of the range specifying operation received by the operation receiving unit, text in the range specified in the range specifying operation. The editing processing unit may be configured to cause the display control unit to display, as the specific text, text stored in a last storing operation and text for a specific number of storing operations from the last storing operation on the display device.
The editing processing unit may be configured to cause the display control unit to display the last stored text stored in the last storing operation and text for a specific number of storing operations from the last storing operation on the display device, and cause, in a case where an operation for selecting text that is different from the last stored text as text to be pasted in text pasting processing is received, the display control unit to display the specific text stored in the storing unit together with the selected text on the display device. In more detail, the determining unit periodically acquires from the display control unit positional information on a rectangular region displayed in order to represent the range of text specified in the range specifying operation, in accordance with progress of the range specifying operation, and determines, in a case where a rectangular region based on acquired positional information does not contain a rectangular region based on immediately previously acquired positional information, that a change beyond a specific criterion has occurred in the specified range of text. Furthermore, the determining unit may periodically acquires from the display control unit positional information on a cursor used in a range specifying operation, in accordance with progress of the range specifying operation, and determine, in a case where after the acquired positional information of the cursor is moved at display positions on the same row of the text displayed on the display device for a certain time or more, the positional information is moved to a display position in a different row, that a change beyond a specific criterion has occurred in the specified range of text.
Various embodiments are implemented as a data processing method for editing text using a computer. An embodiment of a method includes receiving a range specifying operation for performing range specification for at least part of the text displayed on a display device; causing a storing unit to store therein specific text (specified range candidate text) including text in the range specified by the received range specifying operation and other text relating to the specified range; displaying, at a time of performing text pasting processing, the specific text stored in the storing unit together with the text in the specified range on the display device; and performing, in a case where a changing operation for changing the text in the specified range is not received, paste processing for the text in the specified range, and performing, in a case where a changing operation for changing the text in the specified range is received, paste processing by changing the text to be pasted in accordance with the changing operation. The data processing method further includes determining whether or not a change beyond a specific criterion has occurred in the range of text specified by the received range specifying operation. At the time of performing the text pasting processing, the specific text stored in the storing unit may be displayed on the display device on a condition that it is determined that a change beyond the specific criterion has occurred in the range of text.
A program for controlling a computer to execute individual functions of the above-described apparatus or a program for causing a computer to perform processing corresponding the method described above is also provided. The program may be provided by being stored in a magnetic disk, an optical disk, a semiconductor memory, or other storage media and distributed or by being distributed via a network.
The operation receiving unit 20 acquires information on an operation performed by the operator using an input device such as a pointing device. Content of an operation to be acquired includes an operation for specifying a range of text, an operation for issuing an instruction to copy or cut the text in the specified range, an operation for specifying a specific position in text data and issuing an instruction to paste text, and the like. Furthermore, in this embodiment, the operation receiving unit 20 receives an operation for the operation window displayed on the display device 200 by the display control unit 10.
The operation determining unit 30 determines the content of an operation received by the operation receiving unit 20. More specifically, the operation determining unit 30 performs identification of an instructed operation (copy, cut, or paste), identification of text in a range specified in accordance with a copy operation or a cut operation, identification of a paste position to which the specified text is to be pasted in a paste operation, and the like. Here, the paste position is not necessarily a position in text for which a copy operation or a cut operation has been performed. The paste position may be a position (input form etc.) at which text can be displayed by a different application program. Furthermore, in this embodiment, in the case where there is a possibility that an incorrect range has been specified in an operation for specifying a range of text, the operation determining unit 30 detects the specification of an incorrect range. The details of determining processing for a specified range of text will be described later.
The editing processing unit 40 performs processing for editing text data on the basis of an operation received by the operation receiving unit 20 and determined by the operation determining unit 30. More specifically, the editing processing unit 40 performs processing corresponding to copy, cut, and paste operations. In copy processing, the editing processing unit 40 stores text in a specified range identified by the operation determining unit 30 into the storing unit 50. In cut processing, the editing processing unit 40 stores the text in the specified range identified by the operation determining unit 30 into the storing unit 50, and deletes the text in the specified range from the original text data. In the paste processing, the editing processing unit 40 inserts (pastes) text stored in the storing unit 50 to a paste position identified by the operation determining unit 30. Furthermore, when deleting text in cut processing or inserting text in paste processing, the editing processing unit 40 performs processing (changing of display position etc.) for the other text portions affected by deletion or insertion of the text. The storing unit 50 temporarily stores text that has been subjected to the copy processing or cut processing mentioned above. In general, an operating system (OS) of a computer provides a memory region called a clipboard, which is shared between application programs. For example, this memory region can be used as the storing unit 50.
Referring to
Range specification for text performed in a copy operation or a cut operation will now be explained. Normally, range specification for text is performed, using an input device, by specifying the positions of the ends of a range to be specified. For example, in the case where a mouse is used as an input device, the mouse is operated so as to move a cursor (mouse pointer) and desired two positions are identified on the screen of the display device 200. More specifically, for example, an operation for pressing a mouse button when the cursor is located at one of the two identified positions, moving (dragging) the mouse with the mouse button kept pressed, and releasing the mouse button when the cursor reaches the other one of the identified positions is performed. When the operation receiving unit 20 receives such an operation, the operation determining unit 30 recognizes the range of text existing between the two identified positions as a specified range.
Information on identified positions on the screen by an operation using a mouse or the like and information on the display position of a character (coordinates on the screen etc.) are acquired, for example, by the display mechanism 110d illustrated in
Here, in the case of moving a cursor using a pointing device such as a mouse, since a physical operation or the like of the hand of an operator is reflected in a cursor operation on the screen, a moved cursor position may be deviated from the position intended by the operator. Normally, in this case, the operator is able to check the position of the cursor on the screen and make a modification. However, depending on the operation status, a situation in which a drag operation is terminated without the position of the cursor being modified and a range of text that is different from a range desired by the operator is defined as a specified range may occur.
For example, a situation in which at the time when a mouse button is released after a drag operation from one identified position to the other identified position is performed, the hand of the operator moves and the position of the cursor is changed may occur.
In the case where a range of text is incorrectly specified as described above, if an operator recognizes the incorrect operation before performing a copy operation, a cut operation, a paste operation, or the like, range specification can be performed again or modification of the specified range can be performed. However, the case where the operator does not recognize the incorrect operation for range specification until the operator performs a paste operation and views pasted text may occur. Under the circumstances mentioned above, this embodiment provides means for allowing the operator to adjust a specified range of text before the operator performs a paste operation.
In an embodiment, adjustment of a specified range may be applied when the operator performs a paste operation. A window for adjusting a specified range (hereinafter, called a range adjusting window) is displayed near a specified position for a paste operation on the screen of the display device 200. As a first adjusting method, text in a specific range including a range actually specified by an operation for specifying a range of text (hereinafter, called specified range candidate text) is displayed in the range adjusting window.
In this embodiment, specified range candidate text displayed in the range adjusting window 410 is text that includes text specified in a copy operation, a cut operation, or the like by the operator and that extends over a specific range before and after the specified text. In the example illustrated in
Here, the range of text displayed as specified range candidate text is defined as a relative range based on the range of text specified by a range specifying operation, and settings for the size and the like of the specified range candidate text may be performed in advance in an appropriate manner by the operator. For example, specified range candidate text may be specified by specifying the number of characters and the number of rows before and after the range specified by a range specifying operation. Alternatively, the entire paragraph including the specified range may be defined as specified range candidate text. The range of text displayed as the specified range candidate text may be dynamically changeable in accordance with a specific operation including a range specifying operation, command inputting, and the like. For example, when markers 411, which will be described later, are set in the first row (or the last row) of the original set range (a range displayed in the range adjusting window 410), some rows above (or below) the first row (or the last row) may be set as specified range candidate text. Furthermore, at the time of executing a range specifying operation, inputting of a command for expanding the initially set range of the specified range candidate text forward or backward may be received.
Furthermore, as illustrated in
Furthermore, at positions of the ends of the specified range in the specified range candidate text in the range adjusting window 410, the markers 411 for changing the positions of the ends of the specified range are displayed. The markers 411 can be moved by performing a drag operation while positioning the cursor at the positions of the markers 411 using a pointing device such as a mouse. In addition to this, button objects 412 and 413 for inputting a command for terminating paste processing are displayed in the range adjusting window 410. The button object 412 is an object for pasting (inversely displayed) text in a specified range to a paste position and completing a paste operation. The button object 413 is an object for closing the range adjusting window 410 without pasting text (by cancelling a paste operation).
In order to perform an operation using the range adjusting window 410 mentioned above, the processing described below is performed in the editing system 100 according to this embodiment illustrated in
When the operation receiving unit 20 receives a paste operation, the display control unit 10 displays the range adjusting window 410 near the paste position, under the control of the editing processing unit 40. In the range adjusting window 410, the specified range candidate text is displayed in a display manner that is different from a display manner in which the other text portions are displayed. After that, when an operation for adjusting the specified range is performed, the editing processing unit 40 changes text in the specified range, in accordance with the operation. Furthermore, when a click operation for the button object 412 is performed, the editing processing unit 40 pastes the text in the specified range to the paste position.
As described above, according to this embodiment, at the time of performing a paste operation, the range adjusting window 410 is opened and specified range candidate text is displayed so that the operator can check and modify text in a specified range. Thus, text that has been subjected to incorrect range specification in a copy operation or a cut operation can be prevented from being pasted in a paste operation.
A second embodiment of an adjusting method using the range adjusting window 410 will now be explained. In the second adjusting method, when an operation for specifying a range of text is performed, text in a specified range is additionally stored into the storing unit 50 at specific time intervals during a drag operation using a pointing device. Then, the list of stored text is displayed in the range adjusting window 410.
In
The time intervals at which text is stored into the storing unit 50 may be determined on the basis of an operation clock or the like of a computer that implements the editing system 100, and can be set to, for example, between about several milliseconds and about several ten milliseconds. Thus, in the example illustrated in
Meanwhile, in the case where the speed of a drag operation is low, when text is to be additionally stored, text included in a specified range may be the same as the text stored immediately previously. In such a case, in order to avoid the same text from being stored again, storing into the storing unit 50 may be skipped.
In the above description, the case where when the speed of a drag operation is high relative to the time intervals at which text is stored into the storing unit 50, text is additionally stored by skipping several characters relative to the text stored immediately previously may occur has been explained. In this case, the case where text corresponding to text in a range that the operator intends to specify is not stored in the storing unit 50 may occur. More specifically, for example, in
In such a case, text that the operator intends to specify cannot be pasted in a paste operation only by displaying a text group stored in the storing unit 50 in the range adjusting window 410. Thus, the first adjusting method explained with reference to
Then, the editing processing unit 40 waits for execution of an operation for selecting text from the displayed text group. In the case where the last stored text is selected, the editing processing unit 40 pastes the selected text to a paste position, and terminates the process (blocks 904 and 908). Meanwhile, in the case where text that is different from the last stored text is selected, the editing processing unit 40 causes text in a specific range including the last stored text to be displayed in the range adjusting window 410 (blocks 904 and 905). Then, the editing processing unit 40 receives an operation for changing the specified range of text.
Then, the editing processing unit 40 waits input of a command for terminating paste processing (block 906). The inputting of a command is performed, for example, by clicking the button object 412 or 413 displayed in the range adjusting window 410 illustrated in
As described above, in this embodiment, for execution of a paste operation, a specified range of text can be adjusted using the range adjusting window 410. However, displaying the range adjusting window 410 and receiving an operation by an operator every time a paste operation is performed may be a complicated operation for the operator. Under such circumstances, detecting whether there is a possibility that an incorrect operation has been performed in an operation for specifying a range of text performed in a copy operation or a cut operation and displaying the range adjusting window 410 on the condition that such an incorrect operation is detected may be considered.
A method for detecting whether there is a possibility that an incorrect operation has been performed in an operation for specifying a range of text is further illustrated. In an embodiment, the editing processing unit 40 monitors an operation for specifying a range of text. In the case where a change in the content of an operation exceeds a specific criterion at a point in time, that is, in the case where an operation that is greatly different from the previous operations is performed, it is determined that there is a possibility that an incorrect operation has been performed. As a specific detecting method, in this embodiment, a method using a rectangular region displayed when an operation for specifying a range of text is performed (first detecting method) and a method using the displacement of a cursor operated by a pointing device (second detecting method) are suggested.
In the case where an operation for specifying a range of text is performed, the text in the specified range is normally highlighted on the screen of the display device 200 so that an operator can check the specified range. Regarding the display manner of highlighting, a rectangular region surrounding the text in the specified range is often displayed. Furthermore, in the rectangular region, a transparent color through which text is visible may be added. In the first detecting method, it is determined, on the basis of a change of the rectangular region, whether or not there is a possibility that an incorrect operation has been performed. Display information on a rectangular region representing a specified range of text on the screen of the display device 200 (information on the position, shape, size, the number of regions, and the like on the screen of the display device 200) can be acquired from the display control unit 10.
In contrast, comparing
Depending on the manner in which an operator operates a pointing device, even if an operation that greatly changes a rectangular region representing a specified range is performed as in the example illustrated in
In the second detecting method, in order to specify a range of text, it is determined, on the basis of the displacement (operation) of a cursor operated using a pointing device on the screen of the display device 200, whether or not there is a possibility that an incorrect operation has been performed. Positional information on a cursor on the screen of the display device 200 can be acquired from the display control unit 10. Furthermore, information on the display position of individual characters displayed on the screen of the display device 200 can be acquired from the display control unit 10. The second detecting method is suitable for the case where a specified range of text in a copy operation or a cut operation is a character string of one row (not extending over two or more rows).
Referring to
In the example illustrated in
At this time, the operation determining unit 30 consecutively identifies at appropriate time intervals a specified range that changes in accordance with the progress of the operation for specifying a range of text. Then, the editing processing unit 40 additionally stores in a sequential manner information on the specified range identified by the operation determining unit 30 into the storing unit 50. Furthermore, the editing processing unit 40 determines, on the basis of the information on the specified range identified by the operation determining unit 30, whether or not a change beyond a specific criterion has occurred in the specified range during the operation for specifying a range.
When the copy operation or the cut operation is completed and the final specified range of text is fixed (block 1303), the editing processing unit 40 stores specified range candidate text including the text in the specified range into the storing unit 50 (block 1304). Then, when the operation receiving unit 20 receives a paste operation (block 1305), the editing processing unit 40 determines, on the basis of a change of the specified range during the operation for specifying a range, whether or not the range adjusting window 410 is to be displayed.
That is, in the case where during the operation for specifying a range, it is determined by the first detecting method or the second detecting method described above that a change beyond a specific criterion has occurred in the specified range during the operation, the range adjusting window 410 is displayed (blocks 1306 and 1307). Then, after processing for identifying the specified range is performed (block 1308), text in the identified specified range is pasted to a paste position (block 1309). Meanwhile, in the case where it is determined that a change beyond the specific criterion has not occurred in the specified range during the operation for specifying a range of text, the range adjusting window 410 is not displayed, and the text in the specified range fixed in block 1303 is pasted to the paste position (blocks 1306 and 1309).
In the process mentioned above, in the case where a change beyond a specific criterion has occurred in a specified range during an operation for specifying a range of text, the range adjusting window 410 is displayed and processing for identifying a specified range is performed. In contrast, irrespective of a change of a specified range during an operation, the range adjusting window 410 may be always displayed at the time of a paste operation, and processing for identifying a specified range may be performed.
Meanwhile, in the case where the selected text is text that is different from the last stored text in the storing unit 50, the editing processing unit 40 then displays in the range adjusting window 410 specified range candidate text including the last stored text stored in the storing unit 50 (blocks 1403 and 1404). Then, when the operation receiving unit 20 receives an operation for fixing text in the specified range from the specified range candidate text (block 1405), the editing processing unit 40 proceeds to block 1309 in
In method of
As described above, in this embodiment, at the time of a paste operation, the range adjusting window 410 is displayed, so that a specified range can be adjusted on the basis of text additionally stored in several storing operations in accordance with an operation for specifying a range and specified range candidate text. Meanwhile, an embodiment in which in the case where the editing processing unit 40 determines, on the basis of text additionally stored in accordance with a range specifying operation (history of range specifying operation), that an incorrect operation has been performed, the text in the specified range is modified to text in a range estimated to be a correct specified range and paste processing is performed can be implemented.
For example, by using history of range specifying operation, each piece of text stored in the storing unit 50 is compared with the text stored immediately before the text. In the case where there is a big difference only between the last stored text and the text immediately before the last stored text as illustrated in
It should be noted that the term “comprising” does not exclude other elements or blocks and “a” or “an” does not exclude a plurality. On the other side, the term “comprising” may also include the case of “consisting of”. Also, elements described in association with different embodiments may be combined. It should also be noted that reference signs in the claims should not be construed as limiting elements.
The technical effects and benefits of exemplary embodiments include automatic installation and configuration of a software appliance across a variety of computing systems.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, blocks, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, blocks, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or block plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The embodiment was chosen and described in order to best explain the principles and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Number | Date | Country | Kind |
---|---|---|---|
2012-250546 | Nov 2012 | JP | national |
This application is a continuation of U.S. patent application Ser. No. 14/067,067, filed Oct. 30, 2013, which claims priority to Japan Patent Application No. 2012-250546, filed Nov. 14, 2012, and all the benefits accruing therefrom under 35 U.S.C. §119, the contents of which in its entirety are herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14067067 | Oct 2013 | US |
Child | 14887735 | US |