|
Claims  |
|
|
What is claimed is:
1. A method of operating a computer system where a program displays data
and a user interacts with the data through the use of a displayed cursor,
the method comprising the steps of:
displaying a visual depiction of an overlay having a plurality of
delineated regions, each specifying an operation and referred to as a
click-through tool;
positioning the overlay relative to the displayed data so that a given
click-though tool overlaps a desired particular portion of the displayed
data;
generating a particular event with the cursor positioned within the given
click-through tool and at a location relative to the displayed data, which
location specifies the desired particular portion of the displayed data;
and
in response to the particular event, performing the operation specified by
the given click-through tool on the desired particular portion of the
displayed data.
2. A method of operating a processor-based machine, the machine including
a user input facility,
a display device,
a processor coupled to the user input facility and the display device, and
a storage system for storing information including instructions defining at
least one program to be executed by the processor and a set of associated
data,
the method comprising operating the processor-based machine to perform the
steps of:
executing the program so as to operate on the data and to display a visible
representation thereof on the display device;
generating a visual depiction of a transparent overlay having a number of
delineated operation-specifying regions thereon;
responding to a first set of signals by positioning the overlay relative to
the visible representation;
responding to a second set of signals characterized by position information
relative to the visible representation; and
generating a third set of signals, the third set of signals depending on
the relative position of the overlay and the visible representation, and
on the position information that characterizes the second set of signals;
the third set of signals specifying a particular operation when the
position information that characterizes the second set of signals is in a
predetermined relationship with the delineated region of the overlay that
specifies that particular operation;
the third set of signals further specifying that, for at least one type of
particular operation, the particular operation be carried out in a manner
that depends on the position information that characterizes the second set
of signals.
3. The method of claim 2 wherein the program is a window system that
manages a plurality of applications such that the visual representation
represents a partitioning of the screen into regions representing each
application determined by relative position of the second set of signals
to the application screen regions.
4. The method of claim 2 wherein:
the delineated regions specify different particular operations to be
performed on the data; and at least one particular operation augments the
data.
5. The method of claim 2 wherein:
the delineated regions specify different particular operations to be
performed on the data; and
at least one particular operation removes a portion of the data.
6. The method of claim 2 wherein:
the delineated regions specify different particular operations to be
performed on the data; and
at least one particular operation extracts a portion of the data.
7. The method of claim 2 wherein:
the delineated regions specify different particular operations to be
performed on the data; and
at least one particular operation modifies a portion of the data.
8. The method of claim 2 wherein:
the user input facility includes a user-actuated device; and
at least one of the first set of signals results from a user's actions with
the user-actuated device.
9. The method of claim 2 wherein:
the user facility includes a user-actuated device; and
at least one of the second set of signals results from a user's actions
with the user-actuated device.
10. The method of claim 9 wherein the user-actuated device is a pointing
device and the second set of signals results from the user performing a
gesture with the user-actuated device, such that the gesture has a
distinguished feature point.
11. The method of claim 10 wherein the gesture, when drawn over a
particular delineated region, generates a particular third set of signals
determined by that delineated region, that gesture, and the distinguished
feature point of that gesture.
12. The method of claim 9 wherein the second set of signals received from
the user-actuated device includes a sequence of one or more positions.
13. The method of claim 12 wherein:
all positions in the sequence are performed in a single delineated region;
and
the third set of signals depends on commands specified by the delineated
region, and the position of the sequence of points relative to the overlay
and the visual representation.
14. The method of claim 12 wherein:
the first position in the sequence is in a given delineated region with
other positions either in or out of the delineated region; and
the third set of signals is determined by the sequence of positions and the
operation specified by the delineated region.
15. The method of claim 12 wherein:
the sequence of positions is inside a plurality of delineated regions; and
the third set of signals is determined by the sequence of positions and by
the one or more operations specified by the plurality of delineated
regions.
16. The method of claim 9 wherein:
the delineated regions specify different particular operations to be
performed on the data; and
said step of generating a third set of signals includes modifying signals
resulting from the user's actions with the user-actuated device to specify
the particular operation.
17. The method of claim 2 wherein the visual depiction of the transparent
overlay depends on the history of first and second signals to which the
overlay has responded and on the history of third signals that the overlay
has generated.
18. The method of claim 2 wherein the visual depiction of the transparent
overlay includes an image feature generated from an application data item
copied or extracted during the history of first and second signals or the
history of third signals.
19. The method of claim 2 wherein:
said steps of responding to a first set of signals, responding to a second
set of signals, and generating a third set of signals are performed by
executing an overlay program; and
the third set of signals is delivered to the overlay program in order to
modify, augment, delete, reposition, resize, or otherwise edit the
appearance, underlying data, or behavior of the delineated regions.
20. A method of operating a processor-based machine, the machine including
a user input facility,
a display device,
a processor coupled to the user input facility and the display device, and
a storage system for storing information including instructions defining at
least one application program to be executed by the processor and at least
one application data structure including a number of application data
items,
the method comprising operating the processor-based machine to perform the
steps of:
executing the application program so as to manipulate the application data
structure and display a representation thereof, referred to as the visible
representation, on the display device;
generating a visual depiction of a transparent overlay having a number of
delineated operation-specifying regions thereon;
responding to a first set of signals for positioning the overlay relative
to the visible representation;
responding to a second set of signals characterized by position information
relative to the visible representation; and
generating a third set of signals and communicating the third set of signal
to the application program, the third set of signals depending on the
relative position of the overlay and the visible representation and on the
position information that characterizes the second set of signals;
the third set of signals specifying a particular operation when the
position information is in a predetermined relationship with the
delineated region of the overlay that specifies that particular operation;
the third set of signals further specifying that, for at least one type of
particular operation, the particular operation interact with the
application data structure in a manner that depends on the position
information.
21. The method of claim 20 wherein:
the user input facility includes a user-actuated device;
at least one of the first and second sets of signals results from a user's
actions with the user-actuated device.
22. The method of claim 20 wherein:
at least one delineated region on the overlay specifies an operation that
adds an application data item to the application data structure; and
a selected event from the user input facility causes an application data
item to be added as specified by the particular delineated region.
23. The method of claim 20 wherein:
at least one delineated region on the overlay specifies an operation that
removes an application data item from the application data structure; and
a selected event from the user input facility causes an application data
item to be removed as specified by the particular delineated region.
24. The method of claim 20 wherein:
at least one delineated region on the overlay specifies an operation that
extracts an application data item from the application data structure; and
a selected event from the user input facility causes an application data
item to be extracted as specified by the particular delineated region.
25. The method of claim 20 wherein:
at least one delineated region on the overlay specifies an operation that
modifies an application data item in the application data structure; and
a selected event from the user input facility causes an application data
item to be modified as specified by the particular delineated region.
26. The method of claim 20 wherein:
the visible representation includes graphical objects, at least one of
which corresponds to an application data item in the application data
structure;
a particular delineated region on the overlay specifies the creation of a
graphical object; and
the particular operation creates an application data item that results in
the display of a graphical object as specified by the particular
delineated region.
27. The method of claim 20 wherein:
the visible representation includes graphical objects, at least one of
which corresponds to an application data item in the application data
structure;
a particular delineated region on the overlay specifies an attribute to be
applied to application data items;
a specified graphical object has at least a portion overlapped by the
particular delineated region; and
the particular operation sets the attribute for the application data item
to which the specified graphical object corresponds.
28. In an interactive computing environment including
a processor coupled to a display screen and to at least one input device
suitable for positioning an object with respect to the display screen, and
user interface software that the processor executes, that controls at least
a portion of the display screen, and that is responsive to said input
device,
a method for applying a software tool to a workpiece, the software tool
having certain properties, the method comprising the steps of:
using the processor, the user interface software, and the display screen to
display a window whose contents represent the workpiece;
using the processor, the user interface software, and the display screen to
display a transparent object that represents the tool;
using the processor, the user interface software, and the input device to
position the transparent object so as to overlap a desired portion of the
workpiece; and
using the processor, the user interface software, and the input device to
generate an event at a position within the transparent object, which
position specifies the desired portion of the workpiece; and
in response to the event, altering the contents of the desired portion of
the workpiece, the nature of the alteration being determined at least in
part by the properties of the tool.
29. A method of operating a processor-based machine, the machine including
a display device,
a pointing device for controlling the position of a cursor on the display
device in response to user input,
a processor coupled to the pointing device and the display device,
the method comprising operating the processor to perform the steps of:
executing an application program so as to manipulate an associated
application data structure and display a representation thereof, referred
to as the visible representation, on the display device;
generating a visual depiction of a transparent overlay having a number of
delineated operation-specifying regions thereon;
positioning the overlay relative to the visible representation;
positioning the cursor within a particular delineated region and at a
position that is in a predetermined relationship to a particular object in
the visible representation, the predetermined relationship with the
particular object being a relationship that selects the particular object;
generating a cursor event with the cursor so positioned; and
performing the operation specified by the particular delineated region on
the particular object in response to the cursor event.
30. A method of operating a computer system where a program displays
objects and a user interacts with the objects through the use of displayed
tools, each tool having an associated tool-defining region and a specified
operation, the user activating a particular tool by designating a position
within the particular tool's tool-defining region and initiating an event
at the designated position, the method comprising the steps of:
displaying a click-through tool having the property that when the event
occurs within the click-through tool at a given location relative to the
click-through tool, the result of an operation on the data depends, under
at least some circumstances, on the location of the event relative to the
displayed data;
positioning the click-through tool so as to at least partially overlap a
particular object;
generating a particular event within the click-through tool; and
in response to the particular event, performing the click-through tool's
specified operation on the particular object if, but only if, the
particular event is at a location that specifies the particular object.
31. The method of claim 30 wherein:
said positioning step causes the click-through tool to overlap an
additional object in addition to the particular object;
the particular event is at a location that does not specify the particular
object but does specify the additional object, whereupon said conditional
performing step is not performed; and
the method further includes performing the click-through tool's specified
operation on the additional object.
32. The method of claim 30 wherein:
the computer system includes a pointing device and displays a cursor at a
position specified by the pointing device, the pointing device having a
button;
the user designates a desired position by manipulating the pointing device
to cause the cursor to be displayed at the desired position; and
the user initiates an event by depressing the button.
33. The method of claim 30 wherein the click-through tool's tool-defining
region is displayed as a transparent region.
34. A method of operating a processor-based machine, the machine including
a user input facility,
a display device,
a processor coupled to the user input facility and the display device,
a storage system for storing information including instructions defining at
least one program to be executed by the processor and a set of associated
data,
the method comprising operating the processor-based machine to perform the
steps of:
executing the program to operate on the data and display a visible
representation thereof on the display device;
displaying on the display device a visual depiction of a plurality of
tool-defining regions, each tool-defining region specifying at least in
part a respective operation that is performed in response to an event
within the tool-defining region, each tool-defining region and its
respective specified operation being referred to as a tool;
at least a given tool, referred to as a click-through tool, having the
property that when the event occurs within the click-through tool's
tool-defining region at a given location relative to the click-through
tool's tool-defining region, the result of the click-through tool's
specified operation depends, under at least some circumstances, on the
location of the event relative to the visible representation;
in response to a first set of signals from the user input facility,
positioning the click-through tool's tool-defining region so as to overlap
a desired location in the visible representation;
in response to a second set of signals from the user input facility,
generating a particular event within the click-through tool's
tool-defining region, the particular event being at the desired location
in the visible representation; and
in response to the particular event, performing the click-through tool's
specified operation on a portion of the data that corresponds to the
desired location of the visible representation.
35. The method of claim 34 wherein:
the visible representation includes objects;
the click-through tool specifies the creation of a particular type of
object; and
said step of performing the click-through tool's specified operation
includes creating an object of the particular type at the desired
location.
36. The method of claim 34 wherein:
the visible representation includes an object at the desired location;
the click-through tool specifies an object property; and
said step of performing the click-through tool's specified operation
includes applying to the object the property specified by the
click-through tool.
37. The method of claim 34 wherein the user input facility includes an
indirect pointing device, and further comprising the step of displaying a
cursor on the display device so as to provide the user with a visual
indication of positions specified by the pointing device.
38. The method of claim 34 wherein the click-through tool's tool-defining
region is displayed as a transparent region.
39. In an interactive computing environment including
a processor coupled to a display screen and to an input facility suitable
for positioning an object with respect to the display screen and further
suitable for generating a signal specifying an event at a given position,
and
user interface software that the processor executes, that controls at least
a portion of the display screen, and that is responsive to the input
device,
a method of operating the processor to execute the user interface software,
the method comprising the steps of:
displaying a window whose contents include a workpiece;
displaying a transparent object that represents a tool having an
object-altering property;
positioning the tool over the workpiece; and
altering the workpiece in response to a signal from the input facility
specifying an event at a position that specifies the workpiece and that is
within the tool, the nature of the alteration being determined at least in
part by the object-altering property of the tool.
40. A method of operating a processor-based machine, the machine including
a user input facility including a device having a button that is subject to
being clicked by the user,
a display device,
a processor coupled to the user input facility and the display device,
a storage system for storing information including instructions defining at
least one program to be executed by the processor and a set of associated
data,
the method comprising operating the processor-based machine to perform the
steps of:
operating on the data according to the program and displaying a visible
representation of the data on the display device;
displaying a cursor on the display device;
displaying on the display device a visual depiction of a tool-defining
region, the tool-defining region specifying at least in part an operation
that is performed in response to the button being clicked while the cursor
is positioned within the tool-defining region, the tool-defining region
and its respective specified operation being referred to as the tool;
the tool having the further property that when the cursor is within the
tool-defining region at a given location relative to the tool-defining
region, the result of the tool's specified operation in response to the
button being clicked depends, under at least some circumstances, on the
location of the cursor relative to the visible representation when the
button is clicked;
in response to signals from the user input facility, positioning the
tool-defining region so as to overlap a desired location in the visible
representation;
in response to signals from the user input facility, positioning the cursor
on the desired location in the visible representation; and
in response to the button being clicked when the cursor is positioned on
the desired location in the visible representation, performing the tool's
specified operation on a portion of the data that corresponds to the
desired location of the visible representation.
41. The method of claim 40 wherein:
the visible representation includes objects;
the tool specifies the creation of a particular type of object; and
said step of performing the tool's specified operation includes creating an
object of the particular type at the desired location.
42. The method of claim 40 wherein:
the visible representation includes an object at the desired location;
the tool specifies an object property; and
said step of performing the click-through tool's specified operation
includes applying to the object the property specified by the tool.
43. The method of claim 40 wherein the tool-defining region is displayed as
a transparent region.
44. A method of operating a processor-based machine, the machine including
a user input facility including at least one device that generates signals
specifying position,
a display device,
a processor coupled to the user input facility and the display device,
a storage system for storing information including a set of data,
the method comprising operating the processor-based machine to perform the
steps of:
operating on the data and displaying a visible representation thereof on
the display device, the visible representation including an object;
displaying on the display device a visual depiction of a tool-defining
region, the tool-defining region specifying at least in part an operation
that is performed in response to an event within the tool-defining region,
the tool-defining region and its specified operation being referred to as
the tool;
in response to a first set of signals from the user input facility,
positioning the tool defining region so as to at least partially overlap
the object;
in response to a second set of signals from the user input facility,
generating a particular event that is within the tool-defining region and
is at a position relative to the visible representation that specifies the
object; and
in response to the particular event, performing the specified operation on
the object.
45. The method of claim 44 wherein:
the tool specifies an object property; and
said step of performing the tool's specified operation includes applying to
the object the property specified by the tool.
46. The method of claim 44 wherein the user input facility includes an
indirect pointing device, and further comprising the step of displaying a
cursor on the display device so as to provide the user with a visual
indication of positions specified by the pointing device.
47. The method of claim 44 wherein the tool-defining region is displayed as
a transparent region. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
CROSS REFERENCE TO RELATED APPLICATIONS
The following three commonly-owned copending applications, including this
one, are being filed concurrently and the other two are incorporated by
reference into this one:
Eric A. Bier and William A. S. Buxton, entitled "USER INTERFACE HAVING
MOVABLE SHEET WITH CLICK-THROUGH TOOLS" (Attorney Docket 13188-68, Xerox
Docket D/92492);
William A. S. Buxton and Eric A. Bier, entitled "USER INTERFACE HAVING
SIMULTANEOUSLY MOVABLE TOOLS AND CURSOR" Ser. No. 08/398,420, filed
2/27/95, which is an FWC of Ser. No. 08/95,591, filed 7/21/93, now
abandoned (Attorney Docket 13188-69, Xerox Docket D/92492Q); and
Eric A. Bier, William A. S. Buxton, and Maureen C. Stone, entitled "USER
INTERFACE HAVING CLICK-THROUGH TOOLS THAT CAN BE COMPOSED WITH OTHER
TOOLS" Ser. No. 08/449,584, filed 5/24/95, which is an FWC of Ser. No.
08/95,445, filed 7/21/93, now abandoned (Attorney Docket 13188-70, Xerox
Docket D/92492Q1).
BACKGROUND OF THE INVENTION
The present invention relates generally to processor-controlled machines
such as computers and more specifically to user interfaces for allowing a
user to interact with the machine.
A frequent use of a processor-controlled machine such as a computer is to
communicate information to a user of the machine and accept information
from the user, thereby allowing the user to perform a specified task.
Depending on the task at hand, the user will often make use of a
task-specific application program such as a word processor (sometimes
referred to as a text editor), a spreadsheet, a database, or a drawing
program (sometimes referred to as a graphics editor). A reference to a
specific type of program or editor is not intended to imply a stand-alone
application program having only the particular functionality, since many
programs have more than one type of functionality.
A typical application program consists of a set of instructions (the
"application") that are executed in response to input signals to create
and modify associated data (sometimes referred to as the underlying data).
In many instances, this associated data is stored on a disk as a data file
(sometimes referred to as "the file"), and portions are read into memory
during program execution. For at least some applications, the data
represents a document that is to be viewed (e.g., printed or displayed on
a screen), and the application allows a user to modify the document.
In many instances, a user provides at least some of the input signals
through one or more input devices, often a keyboard and a pointing device
such as a mouse. By way of background, a mouse is a device that is moved
over a work surface, typically next to the keyboard, and provides position
signals so as to cause a cursor on the screen to move in accordance with
the mouse's movements. The cursor is a special symbol that is used by an
interactive program as a pointer or attention-focusing device. The mouse
contains one or more pushbutton switches ("buttons") to provide additional
input signals, which may be interpreted as part of a cursor event.
A display device, typically a visual display device such as a cathode ray
tube (CRT) or a liquid crystal display (LCD), provides the user with
information about the application and the underlying data, and allows the
user to generate appropriate input signals and thus control the operation
of the machine to produce the intended work product. The combination of
input devices, display devices, and the nature of the information that the
application provides the user may be thought of as the user interface to
the application.
Although it is in principle possible for every application program to be
entirely self-sufficient, it is almost universally the case that the
application program executes in conjunction with an operating system
("OS"). The OS is a program that schedules and controls the machine
resources to provide an interface between the application programs and the
machine hardware. The OS typically provides the basic housekeeping
functions that all application programs are likely to require, such as
maintaining a file system, scheduling the CPU, receiving input from input
devices, communicating with storage devices, sending data to display
devices, and providing a generic mechanism according to which a user can
manage files and cause various applications to execute. In the world of
personal computers ("PCs") and workstations, operating systems are often
associated with a particular type of hardware configuration, but this is
not necessarily the case. Unix is an example of an OS that has been ported
to run on many types of machine.
One type of operating system that has come into increasing use in recent
years provides a graphical user interface ("GUI"). Apple Computer's
Macintosh OS, IBM's OS/2, and Microsoft's Windows (actually a GUI shell
that runs on top of a character-based operating system known as DOS) are
the best known GUIs in the PC realm. The Macintosh OS has to date been
available only on Apple's own Macintosh PCs based on the Motoro | | |