Patent ID: 7865868

Claim:
A computer system including a processor and memory for providing an alternate model for a primary model for extending a user interface of a host application by custom code, the primary model using a non-programmatic description of the relationship between components of the user interface and using a callback mechanism to provide notifications to the custom code, the system comprising: for each component type of the user interface, a class definition including an implementation of a get description method for dynamically generating a non-programmatic description of the component from a programmatic description of the component and its relationship to other components; a specification of the relationship between components, wherein the specification of the relationship between components is a class definition for a user interface component with an initialize method for specifying the relationship between components; an implementation of get user interface function to be invoked by the host application to get the non-programmatic description of the user interface, the get user interface function invoking the get description method of the user interface component for dynamically generating the non-programmatic description; an implementation of an invoke function to be invoked by the host application to provide notifications to the custom code, the invoke function for converting an invocation to an event notification for a component of the extended user interface; and a unique identifier generated for each component callback, the unique identifier passed by the custom code to the host application and returned from the host application to the custom code when the host application invokes the invoke function, wherein the methods and functions are stored in the memory and executed by the processor.