Designer extensibility
AssigneeMicrosoft Technology Licensing, LLC
InventorPhillip M. Hoff
Life of this patent
Estimating the term…
Abstract
Aspects of the subject matter described herein relate to designer extensibility. In aspects, a designer package is registered. The designer package includes a component that is able to search for designers that support a given file. After finding one or more designers that support a file, the component creates a control that includes the one or more designers. The component may also include in the control an editor usable to view a text-based representation of the file. After creating the control, the component may return a reference to the control that may be used to host the control. The mechanism also supports finding and creating controls that are not based on files.
Claims20
A method implemented at least in part by a computer, the method comprising:
- registering a designer package with a software development tool, the registering configuring the software development tool to call a designer factory of the designer package to request a designer;
- receiving, from the software development tool, a request to provide a designer for an indicated file;
- searching for one or more designers, from a plurality of designers, that support the indicated file;
- in response to a determination that said searching results in the one or more designers being found:
- creating, via the designer factory, a control that includes the one or more designers that support the indicated file;
- and
- providing to the software development tool a reference to the control;
- and
- in response to a determination that said searching results in the one or more designers not being found, returning a code to the software development tool that indicates that the designer factory is unable to find the one or more designers.
In a computing environment, a system, comprising:
- one or more stores that include a registry that includes one or more entries, the entries associating file extensions with designer packages;
- a designer package that includes a designer factory that references one or more designer providers, the one or more designer providers operable to determine whether one or more designers of a plurality of designers support a file having an extension, the designer factory operable to create a control that includes the one or more designers in response to determining that the one or more designers support the file having the extension;
- a registry manager operable to receive an indication of the designer package together with an indication that the designer package is to be associated with all extensions, the registry manager further operable to create an entry within the registry that associates the designer package with the all extensions;
- and
- a designer manager operable to receive a request to edit an indicated file having an indicated extension, to determine the designer package using the registry manager, and to call the designer factory to create the control that includes the one or more designers that support the indicated file in response to a determination that the one or more designers support the indicated file, the designer factory being configured to return a code that indicates that the designer factory is unable to find the one or more designers in response to a determination that the one or more designers do not support the indicated file.
A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:
- receiving a registration request for a designer package, the registration request including an identifier of the designer package and an indication that the designer package is to be associated with files having any extensions;
- storing an association between the designer package and the extensions in a registry;
- receiving a request for a designer associated with an indicated file having an indicated extension;
- searching for one or more designers, from a plurality of designers, that support the indicated file;
- in response to a determination that said searching results in the one or more designers being found:
- retrieving the association from the registry;
- calling a designer factory of the designer package to obtain a control that includes one or more designers that support the indicated file;
- receiving a reference to the control;
- hosting the control in a window of a software development tool;
- creating, via the designer factory, a control that includes the one or more designers that support the indicated file;
- and
- providing to the software development tool a reference to the control;
- and
- in response to a determination that said searching results in the one or more designers not being found, returning a code to the software development tool that indicates that the one or more designers cannot be found.
Dependencies are inferred from the claim text.