Event routing model for an extensible editor
First Claim
1. In an extensible editor having an editor extension coupled therewith, the editor having an edit designer interface comprising a pre-handle event method, the pre-handle event method comprising:
- routing an editing event to the editor extension before the editor acts on the editing event; and
receiving notification from the editor extension indicating whether the editor should continue to process the editing event after the editing event has been routed to the editor extension.
1 Assignment
0 Petitions
Accused Products
Abstract
An extensible editor allows integration of extensions that modify the editor'"'"'s default behavior and provide customized feedback to users. The editor includes an event routing model that works to decrease the occurrence of conflicts between the editor and extensions and between extensions. Upon the occurrence of an event, the editor routes the event to each extension before the editor'"'"'s default handling of the event occurs. When an extension responds to an event, the extension may “consume” the event by indicating to the editor not to allow further processing of the event. After an event has been pre-processed by each extension, the default editor acts on the event. The editor then routes the event to each extension again, to allow each extension to process the event after the default editor has acted. When the post-processing is completed, each extension is notified of the actions taken by the editor and by each of the other extensions.
The editor includes interfaces through which extensions are connected to the editor and through which selection services and highlight rendering services are provided. The selection services interfaces provide a clear separation of a logical selection position in the document and the visual feedback provided for the selection, allowing extensions to be designed that provide customized selection feedback. The highlight rendering services interfaces provide an extension with the ability to augment an existing selection without modifying the actual document.
53 Citations
25 Claims
-
1. In an extensible editor having an editor extension coupled therewith, the editor having an edit designer interface comprising a pre-handle event method, the pre-handle event method comprising:
-
routing an editing event to the editor extension before the editor acts on the editing event; and
receiving notification from the editor extension indicating whether the editor should continue to process the editing event after the editing event has been routed to the editor extension. - View Dependent Claims (2, 3)
-
-
4. In an extensible editor having an editor extension coupled therewith, the editor having an edit designer interface comprising a post-handle event method, the post-handle event method comprising:
-
routing an editing event to the editor extension after the editor acts on the editing event; and
receiving notification from the editor extension indicating whether the editor should continue to process the editing event after the editing event has been routed to the editor extension. - View Dependent Claims (5, 6)
-
-
7. A system, comprising:
-
an extensible editor that processes editing events, the extensible editor having an event routing controller and a default event handler;
an extension coupled with the extensible editor for processing the editing events; and
wherein the event routing controller provides an editing event received by the editor to the extension prior to providing the editing event to be processed by the default event handler. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for processing events in an extensible editor that communicates with a first extension and a second extension, the method comprising:
-
sending an event to the first extension; and
receiving a signal from the first extension indicating whether to continue processing the event. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer-readable medium having computer-executable instructions that, when executed on a computer, perform the following steps:
-
detect an editing event;
routing the editing event to a designer;
receiving a response from the designer that indicates whether the editing event was consumed by the first designer. - View Dependent Claims (23, 24, 25)
-
Specification