The present invention provides a data processing system arranged to run a plurality of applications, each application being associated with one or more windows, and each window being under the control of a user interface provided by the system. A method of operating such a system is also provided. The system according to the invention comprises: a display device for displaying the windows to a user; an input means for receiving events entered by a user from a plurality of input devices connectable to the system; a storage device for storing the user events received by the input means in queues for subsequent processing by the applications; and a queue control means for creating the queues in the storage device and for directing the user events received by the input means to selected queues in the storage device. The system is characterized in that each input device connected to the input means is categorized as either a pointing device or a non-pointing device, and the queue control means comprises: generation means for creating first and second sets of queues in said storage device, each queue in the first set being associated with a specific one of said windows, and each queue in the second set being associated with a non-pointing device from said plurality of input devices; routing means for directing each event entered via a pointing device to the queue in said first set which is associated with the window identified by that pointing device, and for directing each event entered via a non-pointing device to an open queue in the second set which is associated with that non-pointing device; and transfer means for transferring control of queues in said second set between the various windows as requested by the applications with which said windows are associated. By employing the above approach, the present invention uses a hybrid queue to handle user events in a GUI system. The problems associated with prior art techniques, for example, system lockup, extra user effort, and the inability to provide a `type ahead` facility, are avoided.
A method for accessing data received from at least one server (S1, SN) in response to requests (R1-R4, RN) transmitted thereto from a terminal (T), wherein data interchanges between the server (S1, SN) and the terminal (T) are cumulatively collected and stored. The method further includes sensing each prompt message from the server (S1, SN), selectively storing requests (R1-R4, RN) generated in response to each sensed prompt message, displaying a list (La) of stored requests in an access window (FC, FCa-FCe), unfolding (DL1, DL2) in order to select a request (R1, R2) and access data (A1, A2) received in response to said request (R1, R2), and folding (PL1, PL2) in order to select a request (R1, R2) that was previously unfolded (DL1, DL2), and mask the display of the corresponding data (A1, A2) in the access window (FCc, FCd). The method is useful for providing terminal emulators.
A method interfacing of a display and a pointing device employing regions of the display, sub-regions and objects with induced motion effects which alter the observed motion on the display of the content related to the pointing device are claimed. Induced motion effects include use of induced motion rules. The display may present one or more views of a 2-D, 3-D, 4-D or higher dimensional virtual space with regions, sub-regions and objects reflecting that dimensionality.
A method and mechanism for handling user input. Messages corresponding to the user input are placed in a message queue. An input handler differentiates between messages in the queue, such as handwritten character strokes, which are to be handled in real time, and ordered messages, such as characters, cursor movement and editing commands, which are to be handled in a synchronized order of input. The input handler handles each ordered message only after completion of any previous ordered message, while real time messages are handled regardless of the completion status of the ordered messages. In this manner, handwritten character strokes are immediately written to the display area. Ordered messages, which may correspond to handwritten characters having a recognition delay time associated therewith, are handled in the same order as input by the user regardless of any recognition delay time.
Systems and methods for managing a plurality of windows associated with an application are disclosed. In one embodiment of the invention, the method includes displaying a plurality of windows, such as a first window processed by a first window handler and a second window processed by a second window handler. The method receives messages from an operating system, where the messages have message types. The method then passes the message to at least one of the windows, according to the message type.
Geo View is a three-dimensional virtual universe in which a real-world or virtual object may be represented by one or more virtual objects whose attributes are derived from attributes of the real-world object via a flexible user-specifiable mapping. Typically a two-dimensional plane located in three-dimensional space is used to visualize the universe of interest. The placement of virtual objects in the universe typically having a shape is governed by the absolute or relative geographical location of the real-world objects, and also by a flexible set of user-specified layout rules. In addition to the visualisation of various objects, the human observer can attach sounds to objects. The representation of real-world objects with rapidly time-changing attributes may be simplified by the use of Synthetic Strobes, flexible user-specified filters which shift changes in the visual attributes of a shape from one time-domain to another.