The present invention relates generally to computer interfaces, and more particularly relates to graphical interface for manipulations of element selections.
Generally, computer systems include graphical user interfaces. Graphical user interfaces typically include a user interface window, more commonly referred to as a desktop window. While operating within the desktop window computer users are able to manipulate discrete tokens, such as text using a cursor control device.
Currently, when a computer user wants to perform an operation on a block of text, the user first selects the text and then performs the operation. Often, because of small font size, inadequate motor control, and/or other such factors, the selection of the text does not exactly match what the computer user had intended to select and usually ends up requiring adjustment to the selection.
Most text manipulation programs today allow selections to be adjusted, but only at one endpoint of the selection and in some applications before completing the selection. These text selections are generally defined by two endpoints and contain all of the characters between those two endpoints in a reading order. When creating the text selections, generally one endpoint is fixed while the other can be changed. When using the cursor control device, the first selection point usually defines the fixed endpoint, while dragging the cursor control device moves the other endpoint. This fixed endpoint is generally referred to as the “anchor” endpoint of the selection.
Once placed, the anchor endpoint of the selection cannot be moved. If both endpoints of the selection need adjustment or the anchor endpoint needs adjustment, the computer user is generally forced into either to start over with a new text selection, or to perform the intended operation on the incorrect selection and use smaller sections to either extend or undo portions of the text selection operation. In extreme cases, users who would typically create and manipulate selections using a cursor control device or other such point device have to revert to using the keyboard to make accurate text selections. This can result in unintended additional operations to perform the intended operation. Therefore, there is a need for a graphical interface that provides for adjustment of either endpoint of text selections. There is also a need for a graphical interface that allows computer users to more easily make accurate text selections. In addition, there is a need for simplified graphical interface when manipulating the text selections. Furthermore, there is a need to provide a sense of better control to the computer user during text selections.
The present invention provides a graphical interface technique for manipulating either one of endpoints of a selection of subset of substantially sequential discrete tokens. In one example embodiment, the manipulation of either endpoint of a selection of the subset of substantially sequential discrete tokens is performed by selecting a subset of substantially sequential discrete tokens from a set of available substantially sequential discrete tokens on a human interface device. The selection is performed by placing an interface adjustment element on each one of endpoints of the subset of substantially sequential discrete tokens to be selected. The interface adjustment element placed at either one of the endpoints is manipulated individually while the interface adjustment element placed at the other one of the endpoints is being held fixed during the manipulation to make a new selection of substantially sequential discrete tokens.
In the following description and the drawings illustrate specific embodiments of the invention sufficiently to enable those skilled in the art to practice it. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of others. The scope of the invention encompasses the full ambit of the claims and all available equivalents. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions described herein are implemented in software in one embodiment, where the software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. In further embodiments, some of the functions are performed by users. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions are performed in one or more modules as described, and the embodiments described are merely examples.
The term “discrete token” will be understood to mean unconnected distinct element, i.e., constituting a separate element. For example, each letter in a text data constitutes a discrete token. Also, the term “drag handle” means an interface adjustment element that can be selected and manipulated using a user input device, such as a mouse and a trackball in a computer system. In addition, the term “endpoint” means edge of a selection of discrete tokens.
In one embodiment of the invention a drag handle is placed at either endpoint to make adjustments to either endpoint of a text selection. Screen shots are used in this description to illustrate the process of making the adjustments to either endpoint of the text selection, followed by a flowchart of the process. Some examples of instructions for implementing the process are also provided along with a description of an example computer system for implementing the process. The language “to make adjustments to either endpoint of a text selection” refers to the ability to make adjustments to either one of endpoints of the selection while the other endpoint is held fixed. Also, the language refers to having the ability to make the adjustment in either direction of a selected endpoint to adjust, i.e., to the left or right of the selected endpoint to adjust while the other endpoint is held fixed.
It can be envisioned that the pair of drag handles 120 and 122 can be any pointing symbols that provides a cue to a computer user that they can be individually manipulated. As explained above, the pair of drag handles 120 and 122 is interface adjustment elements that can be displayed on the computer display screen of the computer system. Further, the pair of drag handles 120 and 122 can be selected and manipulated using a user input device, such as a mouse, joystick, digitizing tablet, electronic stylus, touch screen, voice activated device, trackball and the like.
As shown in the screen shot 100, the selection of the block of text data is started by positioning the cursor 124 at a first endpoint 126 of the block of text data to be selected and selecting the cursor position at the first endpoint 126 using the user input device to place the downward pointing arrow handle 120 and the upward pointing arrow handle 122 at the first endpoint 126 of the block of text data to be selected.
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
From the above screen shots 1-12 it can be clearly seen that the pair of drag handles 120 and 122 placed at first and second endpoints, 124 and 126, respectively, can be individually manipulated by using the text control cursor 330 to adjust the selected block of text data 310 to new blocks of text data 610 and 1110. Also, it can be seen from the screen shots shown in
At 1320, either of the pair of drag handles is placed at the first endpoint and repositioned individually using a user input device to complete the selection of the current block of substantially sequential discrete tokens. In these embodiments, the pair of drag handles is placed using the user input device, such as a mouse, a joystick, a digitizing tablet, and electronic stylus, a touch screen, a voice activated device and a trackball.
The pair of drag handles is a pair of interface adjustment elements that can be selected and manipulated on a human interface device, such as a display device using the user input device of a computer system. The pair of drag handles can be any symbol that can provide a cue to a computer user that the symbols can be individually manipulated. In these embodiments, the pair of drag handles is a downward pointing symbol and an upward pointing symbol. The downward pointing symbol and the upward pointing symbol provide a visual cue to indicate that an adjustment can be made to the selected block of text data by manipulating individually either of the downward pointing symbol and the upward pointing symbol. The upward pointing and the downward pointing symbols point to the endpoints of the selection. They can be designed to substantially allow a user to select and manipulate using the user input device but not large enough that they get in the way of manipulating the selected subset of substantially sequential discrete tokens. They can be designed to not to substantially obscure the selected block of text data.
At 1330, a feedback of the selected current subset of substantially sequential discrete tokens is provided in a first alternate representation to the computer user. The alternate representation can be representations, such as visual representation, a tactile representation, and an audio representation. In some embodiments, a visual feedback of the selected current subset of substantially sequential discrete tokens is provided in a first contrasting highlight to the computer user. The first contrasting highlight can be white-on-black discrete tokens on a display device, such as a computer screen. The first contrasting highlight can be a different color, font, and/or style.
In some embodiments, the selection of the current subset of substantially sequential discrete tokens is started using a combination of keys in a keyboard. The combination of keys is special keys in the keyboard that are capable of manipulating individually either of the pair of drag handles placed at the endpoints of the selected block of text data using a cursor. The special keys may be formed using keys, such as shift keys, ctrl keys, arrow keys, and/or function keys. In these embodiments, the pair of drag handles is placed at a first endpoint of the current subset of substantially sequential discrete tokens to be selected using the combination of keys in the keyboard. Also in these embodiments, either of the placed pair of drag handles is repositioned to a second endpoint of the current subset of substantially sequential discrete tokens using the combination of keys in the keyboard to complete the selection of the current subset of substantially sequential discrete tokens.
At 1340, either of the pair of drag handles placed at the first and second endpoints of the current subset of substantially sequential discrete tokens is selected to manipulate the selected current subset of substantially sequential discrete tokens. At 1350, a feedback of the selected current subset of substantially sequential discrete tokens is provided in a second alternate representation to indicate readiness to manipulate the selected current subset of substantially sequential discrete tokens. In some embodiments, the visual feedback of the selected current subset of substantially sequential discrete tokens is provided in a second contrasting highlight to the computer user. The first and second contrasting highlights can provide different levels of emphasis on the selected subset of substantially sequential discrete tokens to indicate readiness and selection. Further, the first and second contrasting highlights can be such that they can aid the computer user in selecting and manipulating the selected subset of substantially sequential discrete tokens.
At 1360, either of the pair of drag handles of the selected subset of substantially sequential discrete tokens is repositioned to select a new subset of substantially sequential discrete tokens. While repositioning the either one of the pair of drag handles, the other one of the pair of drag handles is held fixed during the repositioning process. At 1370, a feedback of the newly selected substantially sequential discrete tokens is provided in the first alternative representation to indicate completion of the selection of the new subset of substantially sequential discrete tokens. At 1390, the method 1300 checks whether the newly selected subset of substantially sequential discrete tokens needs further manipulation. If so, the method 1300 goes to act 1340. If there are no further manipulations required for the newly selected subset of substantially sequential discrete tokens then the method 1300 goes to act 1390 and stops the adjustment of selected subset of substantially sequential discrete tokens. The above-described operation of performing the adjustment to either endpoint of a selected subset of substantially sequential discrete tokens is described in more detail with reference to
At 1430, in some embodiments, any one of the selected subsets of substantially sequential discrete tokens is selected for manipulating. At 1440, the drag handle placed at either endpoint of the selected subset of substantially sequential discrete tokens for manipulation is adjusted individually using a user input device to manipulate the selected subset of substantially sequential discrete tokens.
At 1450, the method 1400 checks whether there are any other selected subsets of substantially sequential discrete tokens that needs to be manipulated. If there is another selected subset of substantially sequential discrete tokens that needs to be manipulated, then the method 1400 selects the subset of substantially sequential discrete tokens that needs to be manipulated and goes to act 1440. If there are is no other selected subset of substantially sequential discrete tokens that needs to be manipulated, then the method 1400 goes to act 1470 and stops the selection and manipulation of the multiple subsets of substantially sequential discrete tokens. The process of selection and manipulation of the subset of substantially sequential discrete tokens is described in more detail with reference to
Although the flowcharts 1300 and 1400 include acts that are arranged serially in the exemplary embodiments, other embodiments of the subject matter may execute two or more blocks in parallel, using multiple processors or a single processor organized as two or more virtual machines or sub-processors. Moreover, still other embodiments may implement the blocks as two or more specific interconnected hardware modules with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the exemplary process flow diagrams are applicable to software, firmware, and/or hardware implementations.
Various embodiments of the present invention can be implemented in software, which may be run in the environment shown in
A general computing device, in the form of a computer 1510, may include a processing unit 1502, memory 1504, removable storage 1512, and non-removable storage 1514. Computer 1510 additionally includes a bus 1505 and a network interface (NI) 1501.
Computer 1510 may include or have access to a computing environment that includes one or more input elements 1516, one or more output elements 1518, and one or more communication connections 1520 such as a network interface card or a USB connection. The computer 1510 may operate in a networked environment using the communication connection 1520 to connect to one or more remote computers. A remote computer may include a personal computer, server, router, network PC, a peer device or other network node, and/or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN), and/or other networks.
The memory 1504 may include volatile memory 1506 and non-volatile memory 1508. A variety of computer-readable media may be stored in and accessed from the memory elements of computer 1510, such as volatile memory 1506 and non-volatile memory 1508, removable storage 1512 and non-removable storage 1514. Computer memory elements can include any suitable memory device(s) for storing data and machine-readable instructions, such as read only memory (ROM), random access memory (RAM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), hard drive, removable media drive for handling compact disks (CDs), digital video disks (DVDs), diskettes, magnetic tape cartridges, memory cards, Memory Sticks™, and the like; chemical storage; biological storage; and other types of data storage.
“Processor” or “processing unit,” as used herein, means any type of computational circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, explicitly parallel instruction computing (EPIC) microprocessor, a graphics processor, a digital signal processor, or any other type of processor or processing circuit. The term also includes embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, smart cards, and the like.
Embodiments of the present invention may be implemented in conjunction with program modules, including functions, procedures, data structures, application programs, etc., for performing tasks, or defining abstract data types or low-level hardware contexts.
Machine-readable instructions stored on any of the above-mentioned storage media are executable by the processing unit 1502 of the computer 1510. For example, a computer program 1525 may comprise machine-readable instructions capable of performing an adjustment to either endpoint of a set of discrete tokens selection according to the teachings and herein described embodiments of the present invention. In one embodiment, the computer program 1525 may be included on a CD-ROM and loaded from the CD-ROM to a hard drive in non-volatile memory 1508. The machine-readable instructions cause the computer 1510 to select and manipulate discrete tokens selection according to the embodiments of the present invention.
The graphical interface for manipulating substantially sequential discrete tokens of the present invention is modular and flexible in terms of implementation and usage. As a result, parts of the graphical interface of the present invention may be placed at different points of a network, depending on the model chosen. For example, the means to select and manipulate a subset of substantially sequential discrete tokens can be deployed in a server, and the input and output streamed over from a client to the server and back, respectively. A hub can also be placed on each client, with the database management centralized.
The above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those skilled in the art. The scope of the invention should therefore be determined by the appended claims, along with the full scope of equivalents to which such claims are entitled. The above-described methods and apparatus provide various embodiments for adjusting subsets of substantially sequential discrete tokens selection.
It is to be understood that the above-description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above-description. The scope of the subject matter should, therefore, be determined with reference to the following claims, along with the full scope of equivalents to which such claims are entitled.
As shown herein, the present invention can be implemented in a number of different embodiments, including various methods, a circuit, an I/O device, a system, and an article comprising a machine-accessible medium having associated instructions.
Other embodiments will be readily apparent to those of ordinary skill in the art. The elements, algorithms, and sequence of operations can all be varied to suit particular requirements. The operations described-above with respect to the method illustrated in
The various embodiments of the present invention allow users to more easily create accurate text selections. Further, the present invention allows both endpoints of a selected text to be individually adjusted. In addition, the various embodiments of the present invention do not require any changes to the traditional way of dragging the cursor displayed on a display device to create text selections. This can significantly reduce the need for users to relearn the basics of the operation. Once a text selection is made, users can easily adjust individually either or both endpoints of the text selection.
It is emphasized that the Abstract is provided to comply with 37 C.F.R. § 1.72(b) requiring an Abstract that will allow the reader to quickly ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
In the foregoing detailed description of the embodiments of the invention, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the detailed description of the embodiments of the invention, with each claim standing on its own as a separate preferred embodiment.