A method and apparatus for performing actions while selecting objects on a user interface display. A user may select a first item in an area of a display controlled by a first process and drag that item to a second area on a display controlled by a second process. The second process may negotiate with the first process to provide certain data types, and based upon those data types, the second process will determine a list of actions in hierarchical fashion which may be performed upon the data. Such actions may include, but are not limited to, printing, sending electronic mail, and performing other actions in the computer system. Alternative and primary actions may also be specified by a user, such as by selecting various keys on a keyboard or other input device. Further, a user may specify that the second process display a list of actions which may be performed upon the selected item and allow the user to select an action from a list.
Drawings
Claims60
A method of controlling an execution of an application process, the method comprising:
determining, in response to receiving input of dropping in a first manner a first item at a destination location under control of a second process, a first action from a plurality of actions to be performed on first data represented by the first item;
wherein the first item is selected at a source location under control of a first application process which can provide the first data, the first item not representing one or more files.
A method of manipulating data between application processes, the method comprising:
receiving input of selecting a first item at a source location under control of a first application process, the first item representing first data which can be provided by the first application process, the first item not representing one or more files;
and
invoking, in response to receiving input of dropping the first item at a destination location representing a second process, the second process to perform a first action on the first data.
A computer readable media containing executable computer program instructions which when executed by a digital processing system causes the system to perform a method of controlling an execution of an application process, the method comprising:
determining, in response to receiving input of dropping in a first manner a first item at a destination location under control of a second process, a first action from a plurality of actions to be performed on first data represented by the first item;
wherein the first item is selected at a source location under control of a first application process which can provide the first data, the first item not representing one or more files.
A computer readable media containing executable computer program instructions which when executed by a digital processing system causes the system to perform a method of manipulating data between application processes, the method comprising:
receiving input of selecting a first item at a source location under control of a first application process, the first item representing first data which can be provided by the first application process, the first item not representing one or more files;
and
invoking, in response to receiving input of dropping the first item at a destination location representing a second process, the second process to perform a first action on the first data.
A processing system for controlling an execution of an application process, the system comprising:
a processor;
a memory coupled to the processor, the memory storing a first application process and a second process;
a display device coupled to the processor, the display device displaying a first item at a source location under control of the first process, the first item representing first data which can be provided by the first application process, the first item not representing one or more files, the display device displaying a destination location under control of the second process;
an input device coupled to the processor, the input device receiving input of selecting the first item, the processor determining, in response to the input device receiving input of dropping in a first manner the first item at the destination location, a first action from a plurality of actions to be performed on first data represented by the first item.
1 more element
A processing system for manipulating data between application processes, the system comprising:
a processor;
a memory coupled to the processor, the memory storing a first application process and a second process;
a display device coupled to the processor, the display device displaying a first item at a source location under control of the first process, the first item representing first data which can be provided by the first application process, the first item not representing one or more files, the display device displaying a destination location representing the second process;
an input device coupled to the processor, the input device receiving input of selecting the first item, the processor invoking, in response to the input device receiving input of dropping the first item at the destination location, the second process to perform a first action on the first data.
1 more element
A digital processing system for controlling an execution of an application process, the digital processing system comprising:
means for determining, in response to receiving input of dropping in a first manner a first item at a destination location under control of a second process, a first action from a plurality of actions to be performed on first data represented by the first item;
wherein the first item is selected at a source location under control of a first application process which can provide the first data, the first item not representing one or more files.
A digital processing system as in claim 55, wherein the first action is determined according to first information provided by the first process.
A digital processing system for manipulating data between application processes, the digital processing system comprising:
means for receiving input of selecting a first item at a source location under control of a first application process, the first item representing first data which can be provided by the first application process, the first item not representing one or more files;
and
means for invoking, in response to receiving input of dropping the first item at a destination location representing a second process, the second process to perform a first action on the first data.
3 Mar 2013Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
#Existing graphical user interfaces (GUI's) in computer systems provide a variety of tools to manipulate information. One of the key design characteristics of graphical user interface is the concept of direct manipulation. Traditional disk operating systems used a command line interface (such as the MS DOS operating system available from Microsoft Corporation of Redmond, Wash.), and English language commands are issued by a user in order to cause certain events to occur. In modern GUI's, files and other information are directly manipulated by selecting icons representing files and moving the icons while selected on the computer system display. In this manner, files may be moved, copied, deleted, and otherwise manipulated in the file system of the computer.
#An example of this process is shown in FIGS. 1a-1d. For example, in FIG. 1a, in a window 100, which is displayed on a computer system display, the user may select an icon 120 representing a file using a cursor pointer 110 which is under user control using a mouse, trackball, or other cursor control device. Once selected the user may move or manipulate the icon in any manner in order to perform certain actions in the file system. Icon 120 is shown in its selected state in window 100 of FIG. 1a. Then, as is illustrated in FIG. 1b, the user may start to move cursor 110 while the icon is selected causing an outline image representation of the icon and its file name, which is illustrated as 130, to be moved on the computer system display. This allows the user to manipulate the file for movement within the file system. Then, as is illustrated in FIG. 1c, the user may move pointer 110 to a subdirectory entitled “Documents,” shown as 140 in FIG. 1c (also known as a “folder” in the Macintosh® brand operating system), for movement of that file in the file system. When the “folder” icon 140 is pointed to by pointer 110, it becomes shown in its highlighted state, as is illustrated in FIG. 1c. Then, as is illustrated in FIG. 1d, when the user deselects the icon (that is, releases a mouse button or other selection means), the original icon 120 disappears from the window, and icon 140 is shown in an unselected state. In addition to the visual representation on window 100 as is illustrated in FIG. 1d, the file has been moved from the directory which window 100 represents to the subdirectory “Documents” represented by icon 140. For accessing the file represented by icon 120 at a later time, the user will select icon 140 causing a second window to be displayed representing that subdirectory and be able to access the file represented by icon 120. Thus, movements within the file system and reorganization of files in the file system, known as the HFS (Hierarchical Filing System) in the Macintosh® brand operating system, may be performed using this prior art technique.
#Another prior art implementation of a movement of information in a graphical user interface such as that used by the Macintosh® brand operating system is illustrated with reference to FIGS. 2a-2d. For example, this is a process which may be used for transferring text between a window displaying one set of text (e.g., 210) and a second window with a second set of text in it (e.g., 220). As is illustrated in FIG. 2a, the user will select a region of text in document 210 utilizing cursor 200 under control of the cursor control and selection device and select an option from a pull-down menu 230, such as “Cut” 230a. This is a destructive move operation wherein the text is removed from document 210 and will be moved to document 220. This is all illustrated in FIG. 2a. Then, the user will move the cursor to second document 220 in text area 220a and select a region in the text at which he desires the text to be moved. The cursor in text region 220a will change to a format known as insertion carat 250 which indicates where the insertion point will be. Then, as is illustrated in FIG. 2c, the user will use pull-down menu 230 again, selecting a second option “Paste” 230b to retrieve text 240 from an intermediate storage device, such as a clipboard or other type of intermediate storage buffer, and insert the text at that location. As is illustrated in FIG. 2c, the text is still highlighted as this is shown immediately after the paste operation. Then, the highlighting is removed, as is illustrated in FIG. 2d, when the user selects other regions of the screen to operate in or performs other operations. Thus, as is illustrated in FIG. 2d, the destructive move operation from Document 1210 to Document 2220 has been accomplished. As is well-known to those skilled in the prior art, nondestructive “copy” operations may also be performed in a similar manner by selecting other pull-down menu options on pull-down menus such as FIGS. 2a and 2c. Note that the documents 210 and 220 may be under control of a single program, such as a word processing program, or may be under control of different application programs, such as one word processing program and a second word processing program or any other type of application program. As is well-known to those skilled in the prior art, transfer among different types of application programs may be accomplished using the cut and paste operations described with reference to FIGS. 2a-2d on a variety of architectural platforms using the intermediate storage buffer known as the clipboard. Other types of information such as graphical information, numeric information, or other types of information may be transferred in this manner.
Brief description of the drawings32 figures
#The present invention is illustrated by way of example and not limitation in the figures of the accompanying in which like references indicate like elements and in which:
#FIGS. 1a-1d show a prior art method for selecting an icon representing a file and moving it to a second location using a graphical user interface.
#FIGS. 2a-2d show a prior art method of copying text from a first file on a user interface display to a second file on the user interface display.
Detailed description29,625 words
#A process and apparatus for an improved manipulation of data and user feedback in a computer-controlled display system is described. In the following description, specific steps, procedures, command options, command items, and other specifics are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known systems and methods are shown in diagrammatic, block or flow diagram form in order to not unnecessarily obscure the present invention.
#Referring to FIG. 3, the computer system upon which a preferred embodiment of the present invention is implemented is shown as 300. 300 comprises a bus or other communication means 301 for communicating information, and a processing means 302 coupled with bus 301 for processing information. System 300 further comprises a random access memory (RAM) or other volatile storage device 304 (referred to as main memory), coupled to bus 301 for storing information and instructions to be executed by processor 302. Main memory 304 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 302. Computer system 300 also comprises a read only memory (ROM) and/or other static storage device 306 coupled to bus 301 for storing static information and instructions for processor 302, and a data storage device 307 such as a magnetic disk or optical disk and its corresponding disk drive. Data storage device 307 is coupled to bus 301 for storing information and instructions. Computer system 300 may further be coupled to a display device 321, such as a cathode ray tube (CRT) or liquid crystal display (LCD) coupled to bus 301 for displaying information to a computer user. An alphanumeric input device 322, including alphanumeric and other keys, may also be coupled to bus 301 for communicating information and command selections to processor 302. An additional user input device is cursor control 323, such as a mouse, a trackball, stylus, or cursor direction keys, coupled to bus 301 for communicating direction information and command selections to processor 302, and for controlling cursor movement on display 321. Another device which may be coupled to bus 301 is hard copy device 324 which may be used for printing instructions, data, or other information on a medium such as paper, film, or similar types of media. Note, also, that any or all of the components of system 300 and associated hardware may be used in a preferred embodiment, however, it can be appreciated that any type of configuration of the system may be used for various purposes as the user requires.
#In the preferred embodiment, computer system 300 is one of the Macintosh® family of personal computers such as the Macintosh® Quadra™ or Macintosh® Performa™ brand personal computers manufactured by Apple® Computer, Inc. of Cupertino, Calif. (Apple, Macintosh, Quadra, and Performa are trademarks of Apple Computer, Inc.). Processor 302 is one of the 68000 family of microprocessors, such as the 68030 or 68040 manufactured by Motorola, Inc. of Schaumburg, Ill.