Method and apparatus for providing an object-oriented...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C345S215000

Reexamination Certificate

active

06327627

ABSTRACT:

FIELD OF THE INVENTION
This invention generally relates to improvements in display systems and more particularly to providing an object oriented operating system.
BACKGROUND OF THE INVENTION
Among developers of workstation software, it is increasingly important to provide a flexible software environment while maintaining consistency in the user's interface. An early attempt at providing this type of an operating environment is disclosed in U.S. Pat. No. 4,686,522 to Hernandez et al. This patent discusses a combined graphic and text processing system in which a user can invoke a dynamic menu at the location of the cursor and invoke any of a variety of functions from the menu. This type of natural interaction with a user improves the user interface and makes the application much more intuitive.
Object oriented applications should also reflect a consistent interaction interface with the user regardless of what application is currently active. None of the prior art references applicant is aware of provides the innovative hardware and software system features which enable all application object oriented applications to function in a consistent manner by architecting object oriented features into the operating system.
SUMMARY OF THE INVENTION
Accordingly, it is a primary objective of the present invention to provide an innovative object oriented application interface. Users of an object oriented operating system's graphical user interface often move a mouse, click on objects to select them, drag objects to move or copy then, and double-click to open an object. These operations are called direct manipulations, or interactions. The sequence of events corresponding to a user pressing, moving, and releasing the mouse is called the input syntax. Certain sequences of events are used to indicate particular actions, called semantic operations. This invention discloses the method and apparatus for translating input syntax into semantic operations for an object that supports Select, Peek, Move, AutoScroll, and Drag/Drop (Copy).
The invention detects a mouse button depression and then employs the following logic:
(a) If an Option key was depressed when the user pressed the mouse button, the system enters drag mode by setting variable fInteractionType to constant kDrag. The system then commences a drag operation using the selected object as the target of the operation; or
(b) if the Option key was not depressed, then the system enters selection mode by setting variable fInteractionType to constant kSelect. Then, the select operation is commenced.
If a user already had the mouse button depressed and continues to hold the mouse button down, then the following logic is engaged. If the system is in select mode, then the system first determines whether the user has moved the mouse beyond a certain threshold, called the move threshold. This is done by comparing the initial mouse location, returned by the GetInitialLocation method, with the current mouse location, returned by the GetCurrentLocation method. If the mouse has moved beyond the move threshold, the system ends select mode and enters move mode. It does this by setting variable fInteractionType to constant kMove. The system then tells the object to terminate the select operation by calling its SelectEnd method. The system then initiates a move operation by calling its MoveBegin method.
Otherwise, if the mouse has not moved, the system checks how long the mouse has been down. It does this by comparing the initial mouse down time, returned by the GetInitialTime method, with the current time, returned by the GetCurrentTime method. If the mouse has been down beyond a certain threshold, called the peek threshold, the system ends select mode and enters peek mode. It does this by setting variable fInteractionType to constant kPeek. It asks the object to end the select operation by callings its SelectEnd method, and begins a peek operation by calling its PeekBegin method. Otherwise, if the mouse has not moved, or it has not been down beyond the peek threshold, the system continues the select operation by calling the object's SelectRepeat method. If the system detects that a user is in Move mode, the system first determines whether the user has moved the mouse within the window, on the border of the window, or outside the window. It does this by comparing the current mouse location, returned by the GetCurrentLocationMethod, with the bounds of the object's container, returned by GetContainerBounds.
If the mouse is still within the bounds of the window, the system continues the move operation by calling the object's MoveRepeat method. If the mouse is on the border of the window, this indicates an AutoScroll operation. The system asks the object's container to scroll in the direction indicated by the mouse location. This is done by calling the container's AutoScroll method and passing the current mouse location as a parameter. Once complete, the system continues the move operation by calling the object's MoveRepeat method.
If the mouse has moved outside the window, the system ends move mode and enters drag mode. It does this by setting variable fInteractionType to constant kDrag. It asks the object to end the move operation by calling its MoveEnd method. It asks the object to begin the drag operation by calling its DragBegin method. If the system is in drag mode, the system continues the drag operation by calling the object's DragRepeat method. If the system is in peek mode, the system first determines whether the user has moved the mouse beyond a certain threshold, called the move threshold. This is done by comparing the initial mouse location, returned by the GetInitialLocation method, with the current mouse location, returned by the GetCurrentLocation method.
If the mouse has moved beyond the move threshold, the system ends peek mode and enters move mode. It does this by setting variable fInteractionType to constant kMove. It asks the object to end the peek operation by calling its PeekEnd method. It asks the object to begin the move operation by calling its MoveBegin method. Otherwise, if the mouse has not moved, the system continues the peek operation by calling the object's PeekRepeat method.
If the system detects that a user releases the mouse button, then if the system is in select mode, the system ends select mode. It does this by setting variable fInteractionType to constant kNone. The system queries the object to end the select operation by calling its SelectEnd method. If the system is in move mode, the system ends move mode. It does this by setting variable fInteractionType to constant kNone. Then, the system queries the object to end the move operation by calling its MoveEnd method and ends drag mode by setting variable fInteractionType to constant kNone. It asks the object to end the drag operation by calling its DragEnd method. If the system is in peek mode, the system ends peek mode. It does this by setting variable fInteractionType to constant kNone. It asks the object to end the peek operation by calling its PeekEnd method.


REFERENCES:
patent: 3658427 (1972-04-01), Heath et al.
patent: 4885717 (1989-12-01), Beck et al.
patent: 4931783 (1990-06-01), Atkinson
patent: 5198802 (1993-03-01), Bertram et al.
patent: 5230063 (1993-07-01), Hoeber et al.
patent: 5239287 (1993-08-01), Siio et al.
patent: 5241655 (1993-08-01), Mineki et al.
patent: 5276816 (1994-01-01), Cavendish et al.
patent: 5280610 (1994-01-01), Travis, Jr. et al.
patent: 5287447 (1994-02-01), Miller et al.
patent: 5327529 (1994-07-01), Fults et al.
patent: 5339433 (1994-08-01), Frid-Nielsen
patent: 5371846 (1994-12-01), Bates
patent: 5371851 (1994-12-01), Pieper et al.
patent: 5446902 (1995-08-01), Islam
patent: 5463784 (1995-11-01), Anderson et al.
patent: 5630168 (1997-05-01), Rosebrugh et al.
Campbell et al., “Choices, Framework and Refinement”, Proc. Int'l Workshop on Object Orientation in Operating Systems, Oct. 17, 1991, pp. 9-15, Palo Alto, California.
O/S/2 Version 2.0, V.3, “Presentation Manager and Workplace

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for providing an object-oriented... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for providing an object-oriented..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for providing an object-oriented... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2602635

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.