A computer program product for performing a cursor tool operation in response to a user request on a computer with a memory, a display device having displayed thereon a cursor and a document window with a first document component therein and a cursor tool object having a member function for performing the cursor tool operation, the computer program product comprising a computer usable medium having computer readable program code thereon including:
- program code for constructing in the memory a tool negotiator which determines whether the first document component is compatible with the cursor tool object member function;
- a creation mechanism for creating a second document component in the memory in response to the user request when the first document component is not compatible with the cursor tool object member function, the second document component being compatible with the cursor tool object member function;
- an embedder function which embeds the second document component in the document window at the cursor location;
- and
- a calling mechanism for executing the cursor tool object member function to perform the cursor tool operation within the second document component.