Patent ID: 7348982

Claim:
A method for creating and laying out a graphic within an application program, comprising: receiving a data model for constructing the graphic, the data model defining a set of data and data relationships to be represented in the graphic; receiving a graphic definition, the graphic definition describing the mapping of the data from the data model to layout nodes, algorithms, parameters, constraints, constraint rules, and shape properties, wherein the graphic definition also specifies iterators for mapping elements in the data model to the layout nodes and sets of algorithms, parameters, constraints, and constraint rules associated with the layout nodes; determining shape size and position for shapes in the graphic utilizing the algorithms, parameters, constraints, constraint rules, and shape properties associated with the layout nodes; creating a shape list of shapes and shape properties for the graphic based on the algorithms, parameters, constraints, constraint rules, and shape properties associated with the layout nodes; and providing the shapes and the shape properties of the shape list to the application program to be rendered as part of the graphic.