IP Library Granted Patent US 7,356,537
Granted Patent B2
US 7,356,537 · App. 10/164,960 · Granted Apr 8, 2008

Providing contextually sensitive tools and help content in computer-generated documents

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,356,537
App. No.
10/164,960
Granted
Apr 8, 2008
Kind
B2
Abstract

A method and system are provided for creation, implementation, and use of computer-generated “smart” documents to which functionality is attached for providing contextually sensitive tools, controls and help content to users of those documents. Portions of documents are annotated with Extensible Markup Language (XML) tags and structure so that when a user enters those portions, such as by placing a computer cursor in those portions, the user is provided contextually sensitive tools, controls and/or help content. A document tools pane may open on the user's computer screen adjacent to the document being edited for providing the document tools, controls or help content related to the context of the text or data in which the cursor is located. If the user moves the cursor to another portion of the document, the user may obtain information associated with the context of the new portion of the document in which the cursor is located.

Claims (64)

1. A method of providing contextually sensitive functionality to a computer-generated document, comprising the steps of:

attaching a schema to the document defining permissible data content, data type and data structure for the document, whereby the schema includes a definition of permissible data content, data type and data structure for particular portions of the document;

structuring the document to associate the document with the schema;

associating a solution with the document structure;

assembling a plurality of software components for providing the solution to the document;

enabling the document to call the plurality of software components for providing the solution to the document based on an editing position in the document; and

implementing an Application Programming Interface for providing the solution to the document, comprising the steps of:

providing a SmartDocXMLTypeCount property including a number of XML element types associated with the solution;

providing a SmartDocXMLTypeName property including unique identifiers for the XML element types associated with the solution;

providing a SmartDocXMLTypeCaption property including captions associated with XML elements that may be displayed to a user;

providing a ControlCount property including a number of controls associated with the solution;

providing a ControlID property including unique identifiers for the controls;

providing a ControlTypeFromID property including the types of controls available for use with the solution;

providing a ControlNameFromID property for returning a name associated with each control for use internally by an application program providing the document;

providing a PopulateRadioGroup method including routines and instructions that are executed for populating radio controls that may be displayed to a user;

providing an OnRadioGroupSelectChange method including routines and instructions that are executed when a radio control is selected;

providing a PopulateImage method including routines and instructions that are executed for populating an image associated with the solution;

providing an ImageClick method including routines and instructions that are executed when an image is selected;

providing a PopulateDocumentFragment method including routines and instructions that are executed for displaying data;

providing a PopulateActiveXProps method including routines and instructions that are executed for obtaining ActiveX functionality associated with the solution;

providing a PopulateCheckbox method including routines and instructions for providing a checkbox control;

providing an OnCheckboxChange method including routines and instructions that are executed when a checkbox control is selected;

providing a PopulateListOrComboContent method including routines and instructions that are executed to populate a list box control;

providing OnListOrComboSelectChange method including routines and instructions that are executed upon the selection of an item in a list box control;

providing a PopulateTextboxContent method including routines and instructions for populating a textbox;

providing an OnTextboxContentChange method including routines and instructions that are executed for handling an event associated with a change of content in the textbox control;

providing a PopulateHelpContent method including routines and instructions for populating a help content field with data; and

providing an InvokeControl method including routines and instructions that are executed when a control is selected;

whereby the step of structuring the document includes structuring the particular portions of the document to associate the particular portions of the document with permissible data content, permissible data type, and permissible data structure for the particular portions of the document as defined by the schema;

whereby the step of structuring the particular portions of the document includes annotating the particular portions of the document with XML structure;

whereby the step of associating a solution with the document structure, further comprises associating controls with the XML structure; and

whereby the step of associating controls with the XML structure includes associating radio buttons, check boxes or text boxes with the XML structure.

2. A computer-readable medium with computer-executable instructions encoded thereon for providing contextually sensitive functionality to a computer-generated document, the instructions comprising:

attaching a schema to the document defining permissible data content, data type and data structure for the document, whereby the schema includes a definition of permissible data content, data type and data structure for particular portions of the document;

structuring the document to associate the document with the schema;

associating a solution with the document structure;

assembling a plurality of software components for providing the solution to the document;

enabling the document to call the plurality of software components for providing the solution to the document based on an editing position in the document; and

implementing an Application Programming Interface for providing the solution to the document, comprising the steps of:

providing a SmartDocXMLTypeCount property including a number of XML element types associated with the solution;

providing a SmartDocXMLTypeName property including unique identifiers for the XML element types associated with the solution;

providing a SmartDocXMLTypeCaption property including captions associated with XML elements that may be displayed to a user;

providing a ControlCount property including a number of controls associated with the solution;

providing a ControlID property including unique identifiers for the controls;

providing a ControlTypeFromID property including the types of controls available for use with the solution;

providing a ControlNameFromID property for returning a name associated with each control for use internally by an application program providing the document;

providing a PopulateRadioGroup method including routines and instructions that are executed for populating radio controls that may be displayed to a user;

providing an OnRadioGroupSelectChange method including routines and instructions that are executed when a radio control is selected;

providing a PopulateImage method including routines and instructions that are executed for populating an image associated with the solution;

providing an ImageClick method including routines and instructions that are executed when an image is selected;

providing a PopulateDocumentFragment method including routines and instructions that are executed for displaying data;

providing a PopulateActiveXProps method including routines and instructions that are executed for obtaining ActiveX functionality associated with the solution;

providing a PopulateCheckbox method including routines and instructions for providing a checkbox control;

providing an OnCheckboxChange method including routines and instructions that are executed when a checkbox control is selected;

providing a PopulateListOrComboContent method including routines and instructions that are executed to populate a list box control;

providing OnListOrComboSelectChange method including routines and instructions that are executed upon the selection of an item in a list box control;

providing a PopulateTextboxContent method including routines and instructions for populating a textbox;

providing an OnTextboxContentChange method including routines and instructions that are executed for handling an event associated with a change of content in the textbox control;

providing a PopulateHelpContent method including routines and instructions for populating a help content field with data; and

providing an InvokeControl method including routines and instructions that are executed when a control is selected;

whereby the step of structuring the document includes structuring the particular portions of the document to associate the particular portions of the document with permissible data content, permissible data type, and permissible data structure for the particular portions of the document as defined by the schema;

whereby the step of structuring the particular portions of the document includes annotating the particular portions of the document with XML structure;

whereby the step of associating a solution with the document structure, further comprises associating controls with the XML structure; and

whereby the step of associating controls with the XML structure includes associating radio buttons, check boxes or text boxes with the XML structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →