WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
System and method for generating graphics charts    
United States Patent5588108   
Link to this pagehttp://www.wikipatents.com/5588108.html
Inventor(s)Kumar; Pramathesh (Mountain View, CA); Grabiak; Matthias (Oakland, CA); Ivanek; Ivan (Sausalito, CA)
AbstractThe program provides the user with chart templates that may be used in generating different types of graphics charts. Each template may be modified by the user and each template has associated with it a set of shapes and predetermined positions for those shapes so that the user can create professional, clean graphics.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5588108
System and method for generating graphics charts - US Patent 5588108 Drawing
System and method for generating graphics charts
Inventor     Kumar; Pramathesh (Mountain View, CA); Grabiak; Matthias (Oakland, CA); Ivanek; Ivan (Sausalito, CA)
Owner/Assignee     Micrografx, Inc. (Richardson, TX)
Patent assignment
All assignments
Publication Date     December 24, 1996
Application Number     08/314,041
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 27, 1994
US Classification     715/765
Int'l Classification     G06F 015/00
Examiner     Nguyen; Phu K.
Assistant Examiner    
Attorney/Law Firm     Baker & Botts, L.L.P.
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/133 395/159 395/155 395/157 395/158 395/161
Patent Tags     generating graphics charts
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5416890
Beretta
345/590
May,1995

[0 after 0 votes]
5396590
Kreegar
715/808
Mar,1995

[0 after 0 votes]
5367626
Morioka
715/837
Nov,1994

[0 after 0 votes]
5361333
Ahlquist, Jr.
345/442
Nov,1994

[0 after 0 votes]
5337404
Baudelaire
345/441
Aug,1994

[0 after 0 votes]
5333243
Best
358/1.9
Jul,1994

[0 after 0 votes]
5317681
Glassner
345/441
May,1994

[0 after 0 votes]
5249137
Wilson
703/2
Sep,1993

[0 after 0 votes]
5214755
Mason
715/520
May,1993

[0 after 0 votes]
5200740
Paxton
345/468
Apr,1993

[0 after 0 votes]
4937761
Hassett
345/468
Jun,1990

[0 after 0 votes]
4797836
Witek
345/473
Jan,1989

[0 after 0 votes]
5291587
Kodosky
703/2
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method for generating computer graphics on a computer display with a computer having a processor, the method comprising the steps of:

generating on the display an adjustable grid associated with each type of graphics chart, each grid providing predetermined placement positions for text and shapes on each type of graphics chart; and

providing snap zones associated with each grid for controlling the orientation of the shapes and text placed on the grid.

2. The method of claim 1 wherein spacing in the adjustable grid is controlled by tabs.

3. The method of claim 1 further comprising the step of generating on the display a template gallery presenting choices for the plurality of graphics charts that may be generated on the display, the selection of any one of the templates provides a template chart having a predefined adjustable grid and snap zones configuration associated with the one template.

4. The method of claim 1 further comprising the step of generating on the display a shape palette associated with each type of graphics chart providing a predetermined set of shapes that may be placed on the graphics chart.

5. The method of claim 4 further comprising the step of providing a cycle select between a plurality of shapes selected from the shape palette for placing the shapes on the graphics chart.

6. The method of claim 4 further comprising the step of generating lines between shapes on a graphics chart responsive to commands.

7. The method of claim 4 further comprising the step of automatically routing the lines between related shapes and for maintaining the lines between the related shapes when one or more of the related shapes is moved.

8. The method of claim 4 further comprising the step of automatically placing additional shapes on a graphics chart and for connecting the additional shapes to related shapes previously placed on the graphics chart with a line.

9. The method of claim 4 further comprising the step of generating a plaque attribute for shapes placed on the graphics chart.

10. The method of claim 4 further comprising the step of generating three-dimensional shading for shapes placed on a graphics chart and for ensuring appropriate three-dimensional shading is maintained between overlapping shapes.

11. The method of claim 4 further comprising the step of generating an anchor icon indicating an initiating shape for a new line and a ship icon indicating the destination shape for the new line.

12. The method of claim 4 further comprising the step of moving in unison a plurality of related shapes.

13. The method of claim 4 further comprising the step of displaying in a graphics chart an overlapping region of two shapes as an average color of the two shapes.

14. The method of claim 4 further comprising the step of inserting and deleting additional text and graphics in an existing graphics chart and for inserting and deleting additional regions in the graphics chart's grid as required to insert and delete additional text and graphics.

15. A computer system for generating a plurality of types of graphics charts on a computer display, the system comprising:

a processor for executing a plurality of computer instructions;

a display for showing the graphics charts;

a memory device for storing the computer instructions;

input devices for inputting commands to the processor and for manipulating the graphics charts on the display; and

wherein the computer instructions further comprises,

instructions for generating an adjustable grid associated with each type of graphics chart, each grid providing predetermined placement positions for test and shapes on each type of graphics chart, and

instructions for generating snap zones associated with each grid for controlling the orientation of the shapes and text placed within the grid.

16. The computer system of claim 15 wherein spacing in the adjustable grid is controlled by tabs.

17. The computer system of claim 15 wherein the computer instructions further comprise instructions for generating a template gallery presenting choices for the plurality of graphics charts that may be generated with the program, the selection of any one of the templates provides a template chart having a predefined adjustable grid and snap zones configuration associated with the one template.

18. The computer system of claim 15 wherein the computer instructions further comprise instructions for generating a shape palette associated with each type of graphics chart providing a predetermined set of shapes that may be placed on the graphics chart.

19. The computer system of claim 18 wherein the computer instructions further comprise instructions for implementing a cycle select between a plurality of shapes selected from the shape palette for placing the shapes on the graphics chart.

20. The computer system of claim 18 wherein the computer instructions further comprise instructions for generating lines between shapes on a graphics chart.

21. The computer system of claim 18 wherein the computer instructions further comprise instructions for automatically routing the lines between related shapes and for maintaining the lines between the related shapes when one or more of the related shapes is moved.

22. The computer system of claim 18 wherein the computer instructions further comprise instructions for automatically placing additional shapes on a graphics chart and for connecting with a line the additional shapes to related shapes previously placed on the graphics chart.

23. The computer system of claim 18 wherein the computer instructions further comprise instructions for generating a plaque attribute for shapes placed on the graphics chart.

24. The computer system of claim 18 wherein the computer instructions further comprise instructions for generating three-dimensional shading for shapes placed on a graphics chart and for ensuring appropriate three-dimensional shading is maintained between overlapping shapes.

25. The computer system of claim 18 wherein the computer instructions further comprise instructions for generating an anchor icon indicating an initiating shape for a new line and a ship icon indicating the destination shape for the new line.

26. The computer system of claim 18 wherein the computer instructions further comprise instructions for moving in unison a plurality of related shapes.

27. The computer system of claim 18 wherein the computer instructions further comprise instructions for displaying in a graphics chart an overlapping region of two shapes as an average color of the two shapes.

28. The computer system of claim 18 wherein the computer instructions further comprise instructions for inserting and deleting additional text and graphics in an existing graphics chart and for inserting and deleting additional regions in the graphics chart's grid as required to insert and delete additional text and graphics.
 Description Submit all comments and votes
 


TECHNICAL FIELD OF THE INVENTION

This invention relates to the field of graphics computer programs, and more particularly to a system and method for creating graphics.

BACKGROUND OF THE INVENTION

Graphics are the easiest way to communicate information. The creation of graphic layouts or charts has progressed from manual pen and paper generation techniques to computer aided techniques. Previously developed computer graphics programs or applications generally provide clean, professional graphics in a fraction of the time required for hand drawn graphics. Unfortunately, these computer programs can be complicated and may require high-end computer systems in order to run the software program.

Additionally, previously developed computer graphics programs are generally not user friendly. Computer users of these systems may have to spend hours or days practicing with the system before becoming proficient in generating acceptable graphics. Also, many previously developed computer graphics programs may require the user to have artistic abilities in order to generate professional, clean graphics. Persons lacking artistic abilities may find using previously developed computer graphics systems intimidating.

These factors may prevent using graphics to present information when a graphical presentation would be the best way to communicate the information.

SUMMARY OF THE INVENTION

In accordance with the present invention, a user friendly computer graphics system and method are provided that substantially eliminate or reduce disadvantages and problems associated with previously developed graphics systems and methods.

One aspect of the present invention provides a computer graphics program executed by a processor for generating a plurality of types of graphics charts on a computer display. The program includes instructions for generating an adjustable grid associated with each type of graphics chart. Each grid provides placements for text and shapes for each type of graphics chart. The present invention further includes instructions for generating snap zones associated with each grid for controlling the orientation of the shapes and text placed within the grid.

The present graphics system and method provides numerous technical advantages. One technical advantage of the present invention is that is provides a user friendly computer graphics system. The present invention uses intelligent templates and pre-drawn shapes that make creating graphics much simpler and quicker. This can increase the productivity of a person or persons using the present invention.

Another technical advantage of the present invention is that it can be used without extensive training or practice. This allows a user to nearly immediately begin creating professional, clean graphics.

Yet another technical advantage of present invention is that it comprises a computer program that runs on standard or commercially available computer equipment and does not require high-end workstations as may be required for some previously developed computer graphics programs. This maintains the computer platform costs for practicing the present invention relatively low.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and advantages thereof, reference is now made to the following description taking in conjunction with the accompanying drawings in which like reference numbers indicate like features and wherein:

FIG. 1 illustrates a schematic block diagram for a computer system that may be employed in practice of the present invention;

FIG. 2 shows the template gallery dialog box generated in accordance with the present invention;

FIG. 3 depicts an exemplary computer screen and graphics chart in accordance with the present invention;

FIG. 4 illustrates a pyramid graphic generated in accordance with the present invention;

FIG. 5 illustrates a target graphic generated in accordance with the present invention;

FIG. 6 illustrates in process the pyramid graphic from FIG. 4 in accordance with the present invention;

FIG. 7 depicts a Venn diagram graphic in accordance with the present invention;

FIG. 8 shows an exemplary organization chart graphic that may be generated in accordance with the present invention;

FIG. 9 illustrates a flow chart graphic generated in accordance with the present invention;

FIG. 10 illustrates a dialog box for controlling the shadows and three-dimensional outline of a shape in accordance with the present invention;

FIG. 11 depicts a time line graphic generated in accordance with the present invention;

FIG. 12 shows a checklist graphic in accordance with the present invention;

FIG. 13 shows a direction graphic generated in accordance with the present invention;

FIG. 14 shows a netmap graphic generated in accordance with the present invention; and

FIG. 15 illustrates a circle/spoke graphic generated in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Preferred embodiments of the present invention are illustrated in the FIGURES, like numerals being used to refer to like and corresponding parts of the various drawings.

FIG. 1 illustrates computer system 10 for implementing the present invention. Computer system 10 is adapted to execute any of the well-known, MS-DOS, PC-DOS, OS2, MAC-OS.TM., or Windows.TM. operating systems. Computer system 10 includes microprocessor 12, random access memory (RAM) 14, read-only memory (ROM) 16, mouse 18, keyboard 20, and output devices, such as printer 22, disc drive 24, and display 26. The present invention provides a software computer program that may be stored in RAM 14, ROM 16, or disk drives 24, that is executed by microprocessor 12. The present invention is adapted for implementation in a computer language such as, for example, C or C.sup.++ that may be compiled based on the instructions of the desired computer operating system.

Operation of the present invention is described hereinafter, and where appropriate, in connection with pseudo-code listings. Those of ordinary skill in the art can readily convert the concepts described and represented by the pseudo-code listings into executable computer instructions for implementing the present invention. Computer system 10 can be any computer running, for example, Windows.TM. 3.1 operating system or higher. Microprocessor 12, in the preferred embodiment, is an 80386.TM. microprocessor or higher, e.g., 80486.TM. or Pentium.TM. microprocessor. Disc drives 24 should have storage capacity on the order of at least 8 megabytes (MB) and RAM 14 should have storage capacity on the order of at least 2 MB, while 4 MB are generally preferred. Display 26 should be a video graphics array (VGA) or have a Windows.TM. compatible graphics card. The embodiments described above for computer system 10 are provided by way of an example only. Those skilled in the art will appreciate that the implementation of the present invention is not limited to the configuration described.

The present invention provides a computer graphics program that utilizes intelligent templates and pre-drawn shapes to allow a user to quickly and easily create clean and professional looking graphics. The present system anticipates the types of graphics that may be required by the user and provides a number of templates for different graphic layouts or charts so that customized graphics can be created quickly and efficiently. The present invention is currently available as the software package known as ABC SnapGraphics.TM. available from Micrografx, Inc., of Richardson, Tex.

FIG. 2 illustrates dialog box 28 showing template gallery 30 in accordance with the present invention. When implementing the present invention on computer system 10, system 10 presents template gallery 30 on display 26 for the user to view. Template gallery 30 presents the user of the present invention with a selection of graphics templates that can be used to create graphic layouts or charts. Selection of any one template presents the user with a template chart that includes preset tabs, shapes or a shape palette, tool bars, grids, and snap zones and other elements. Each of these elements will be described in more detail hereinafter.

Template gallery 30 in FIG. 2 includes: freestyle template 32, organizational chart template 34, checklist template 36, target template 40, flow chart template 42, timeline template 44, component template 46, drawform template 48, comparison template 50, tree template 52, drawbar template 54, connection template 56, cascade template 58, pyramid template 60, direction template 62, block template 64, netmap template 66, Venn diagram template 68, circle/spoke template 70, and custom template 72. By using the well known point and click methodology associated with the Windows.TM. operating system and other graphically based interfaces, the user of the present invention running on computer system 10 can select a template from template gallery 30 on display 26 with mouse 18 to initiate the generation of a graphics chart.

FIG. 3 illustrates example screen 74 on display 26 of computer system 10 when comparison template 50 on template gallery 30 in FIG. 2 is selected by the user. Comparison chart 76 is displayed on display 26 by computer system 10. Comparison chart 76 is bounded by top tool bar 78, left tool bar 80, bottom tool bar 82, and vertical scroll bar 84. Computer system 10 may employ common Windows.TM. interface techniques in generating screen 74 and to allow the user to select different features and operations for manipulating the information on screen 74. The tool bars and scroll bars aid the user of the present graphics program in preparing a graphics chart.

Top tool bar 78 provides the user with point-and-click access to a number of functions available with the present system. Line draw buttons 86 allow the user to draw various line shapes on screen 74. Each intelligent template, as represented by template gallery 30, has a unique line drawing capability, so line draw buttons 86 for each template may be different. Insert/delete buttons 88 allow the user to insert and delete shapes, rows, or columns into a chart.

Shape border button 90 presents the user with choices for the border of the shapes within chart 76. Shape fill pattern button 92 allows the user to define the pattern that will be used to fill a given shape within chart 76. Three-dimensional and shadow button 94 may be selected to allow the user to define the shadowing and configuration of three-dimensional shapes in comparison chart 76. Line 96 and arrow 98 buttons may be selected to allow the user to select the type of line and arrow to be generated on chart 76, respectively.

Text style button 100 may be selected to present to the user options available for adding text to chart 76. Bold button 102 is selected when the text in chart 76 should be bold. Font size indicator 104 and font select button 106 may be used to select the size and type of the font used in chart 76.

Alignment indicator/select 108 is used to define the alignment of text within a place holder or snap zone. Template indicator 110 corresponds to the icon presented in template gallery 30 for the template selected. Therefore, template select indicator 110 in FIG. 3 corresponds to comparison template 50 in FIG. 2.

Left tool bar 80 also presents the user of the present invention with several settings for chart 76. Left tool bar 80 includes template gallery select button 112 that may be used to return to template gallery 30 at any time while working in the chart shown on display 26. Select button 114 is selected by the user so that shapes or text within chart 76 can be selected and moved or edited. Pencil icon button 116 is selected when the user wishes to draw shapes or lines within chart 76.

Text select button 118 is selected in order to add text to chart 76. View select button 120 is selected to zoom-in or zoom-out within the view of chart 76 presented on display 26.

Eyedropper button 122 is selected to copy style attributes between shapes in chart 76. In order to add color to shapes within chart 76, the user may also click in the lower part of color palette 124. Color palette 124 provides the user with selections for different colors that may be used in chart 76. It is noted that the present system allows numerous colors to be used in generating chart 76 on display 26.

Bottom tool bar 82 of screen 74 includes help hints section 126 that prompts the user of the present invention to a likely next action. Snap off and on button 128 turns the snap feature of the present invention off and on. The snap feature or snap zones will be described in more detail hereinafter. Show or hide template gridlines button 130 is selected by the user in order to display or hide the gridlines within chart 76. Page and grid colors button 132 may be selected by the user in order to present options for the colors displayed on screen 74. Show or hide shape palette button 134 is selected by the user to set whether shape palette 136 is shown on screen 74. Browse buttons 138 allow the user to cycle through the number of charts currently opened at a given time. Located above bottom tool bar 82 is horizontal scroll bar 137 that allows the user to move horizontally in chart 76 while displayed in screen 74.

Horizontal tab ribbon 139 includes a plurality of tabs including inward tabs 140 and ribbon tabs 142. Inward tabs 140 define the size of columns 144, while ribbon tabs 142 define the margins for grid 146 of chart 76. Similarly, vertical tab ribbon 148 includes inward tabs 150 and ribbon tabs 152. Inward tabs 150 define the spacing of rows 151 of grid 146 while ribbon tabs 152 define the margins of grid 146 of chart 76.

The tab settings in either horizontal tab ribbon 139 or vertical tab ribbon 148 can be changed by clicking and dragging any one of the tabs. The present invention also provides slider lock or tab lock button 154 that can be used to lock and unlock the tabs of chart 76. When tab lock 154 is engaged, then moving a single tab, e.g., tab 140 in horizontal tab ribbon 138, causes all of the tabs to be changed by a like amount. The same holds true when tab lock 154 is engaged and a single tab within vertical tab ribbon 148 is moved. Unlocking tab lock 154 allows for individual tabs with a tab ribbon to be moved with respect to the other tabs in the tab ribbon.

Grid 146 presents to the user of chart 76 with a template for the graphics being generated. When the user wishes to generate, for example, a comparison chart, then selecting comparison chart template 50 from template gallery 30 in FIG. 2 results in comparison chart 76 being displayed on display 26. In comparison chart 76, the items being compared can be presented in column 156 with various features presented in rows 158 and 160. Grid 146 has horizontal lines 162 and vertical lines 164 that define grid 146. When chart 76 is first created, grid 146 is presented on screen 76 to aid the user in generating a comparison graphics chart. Grid 146 also includes text insert placeholders 166 that highlight to the user where to insert text into chart 76. Chart 74 also has shapes 168 placed on grid 146.

FIG. 3 has been used to describe a number of the tools and features that may be used in generating a chart or graphics with the present systems. While these tools and features have been described in connection with comparison chart 76, it is understood that the function of these tools and features is not limited to chart 76. One of the advantages of the present system is that it can use the same set of tools or features to generate many different types of graphics.

SLIDEABLE GRIDS

FIG. 3 illustrates the concept of slideable grids that facilitates generating graphics with the present system. Slideable grids allows the user to adjust the grid for a selected template for generating graphics. The grids for each type of chart may be modified by moving the tab controls for the chart. The tab controls are located in two ribbon tabs outside the chart area. To change the grid spacing, a user may click down on one of the tabs and drag it to a new position. For rectangular grids, like grid 146 in FIG. 3, the default mode is to maintain the tab spacing uniform so that when one tab is moved, all the tabs are moved. Tab lock button 154 is provided to change modes so that the spacing of individual rows or columns within grid 146 can be modified. There are also special tabs to change the margins, such as tabs 142 and 152 in FIG. 3.

An example of how the grids of a chart can be changed is shown in FIG. 3. FIG. 3 illustrates tab 170 that is being moved. When tab 170 is selected and dragged upwards or downwards, indication line 172 appears on screen 74. Indication line 172 allows the user to visualize how grid 146 will be changed by the proposed movement of tab 170. Once tab 170 is released by the user, the spacing of grid 146 will change to where 170 is released.

FIG. 4 illustrates pyramid chart 174. Pyramid chart 174 displays pyramid 176 including pyramid sections 178. Horizontal tab ribbon 139 of chart 174 includes centering tab 180 and angle tab 182. Moving center tab 180 changes the orientation of triangle 176 within chart 174. Moving angle tab 182 modifies the angle of the sides of pyramid 176. When angle tab 182 is selected and moved, indication line 184 appears so that the user can visualize how the movement of angle tab 182 will affect pyramid 176.

Vertical tab ribbon 148 for pyramid chart 174 includes ribbon tab 186 that defines the top of pyramid 176. Inward tabs 188 and 190 define the spacing between pyramid sections 178. Therefore, increasing the separation between tabs 188 and 190 increases the spacing between pyramid sections 178 of pyramid 176.

Pyramid chart 174 also illustrates an additional tool not previously described in discussions related to FIG. 3. Flip button 191 in top tool bar 78 can be toggled to flip pyramid 76 in FIG. 4. Some of the other templates provided with the present system also provide flip button 191.

Another type of slideable grid available with the present invention is shown in FIG. 5. FIG. 5 illustrates target chart 192 that may be generated in accordance with the present invention. Target chart 192 may be displayed on display 26 of computer system 10 by selecting target template 40 from template gallery 30 of FIG. 2. Selecting target template 40 presents the user with target chart 192 having a grid with a plurality of concentric circles 194. Concentric circles 194 may be filled by selecting shapes from shape palette 136 and placing the shapes in concentric circles 194.

The size of concentric circles 194 in the grid of target chart 192 are controlled by inward tabs 198 in horizontal tab ribbon 138. Moving, for example, inward tab 198 can increase or decrease the diameter of concentric circles 194. The position of target 200 within chart 192 is controlled by horizontal tab 202 and vertical tab 204. By moving the tabs of chart 152 the grid of chart 192 can be easily modified to the desired shape for the target chart being created.

The slidable grid function integrates the concept of an adjustable grid with graphics. By making the grids for each template adjustable, the templates available with the present invention can be easily tailored by the user to generate custom graphics charts. Pseudo-code for implementing slidable grids may be found under Table I below.

TABLE I ______________________________________ Slidable Grids ______________________________________ If user clicks down on tab in tab ribbon BEGIN if Slider Lock button is pressed Select all tabs Else Select single tab that was clicked While mouse is dragged (pressed down and moved) Give feedback how grid would change by displaying auxiliary lines or curves in chart When mouse is released BEGIN if Slider Lock button is pressed Update all grid lines Else Update single grid line spacing from previous tab to current tab Loop through all lines and shapes to update their current positions Repaint entire chart to display new grid and new shape and line positions END END ______________________________________

SNAP ZONES

Snap zones or place holders are areas on a chart pre-designated for placing shapes on the chart. Snap zones ensure that a shape is placed on the chart in a location and orientation with the other shapes on the chart that gives the chart a professional, clean look. When mouse 18 is used to select a shape to be placed in a snap zone on a chart, the position of the shape in the snap zone is automatically adjusted to the preset position in the snap zone depending on the shape snap type. The preset positions for a snap zone may be, for example, centered, left justified, top aligned, or button aligned. Shapes may have independent horizontal and vertical snapping attributes. The shape of a snap zone may be modified by changing the slidable grid for the chart. Shapes previously placed in a snap zone are automatically adjusted to the new grid spacing and snap zones. Additionally, for some snap zones, shapes placed in the snap zone will be automatically sized to fill the entire snap zone. Different templates have different shapes and positioning snap zones depending on the anticipated placement of shapes within the chart.

Returning to FIG. 3, comparison chart 76 uses snap zones to help in creating chart 76. Each block in grid 146 of chart 76 represents a snap zone. For example, snap zone 210 in chart 76 has been highlighted to illustrate a typical snap zone defined by grid 146 in chart 76. Square shape 212 has been placed within snap zone 210 and is perfectly centered within snap zone 210. Comparison template 50 automatically sets the positioning of shapes within the snap zones of grid 146 to the center of each snap zone. This default positioning within snap zones is preset because shapes placed within a comparison chart, like chart 76, are generally centered in the blocks of grid 146 in order to prepare a professional looking chart.

It is noted that if the user desires to override the preset snap zones, for example, place a shape in chart 76 off-center a block in grid 146, then snap zone off and on button 128 can be toggled turning off the snap zones within grid 146. This allows a user of the present system to place a shape anywhere on grid 146 without automatically snapping the shape to the center of one of the blocks in grid 146.

FIG. 6 illustrates pyramid chart 174 of FIG. 4 prior to placement of all pyramid sections 178 of pyramid 176. Pyramid sections 178 are chosen from shape palette 136 and placed on pyramid 176. As shown in FIG. 6, second section 214 of pyramid 176 has still not been filled with an appropriate shape. Chart 174 does show snap zone 216 outlined by a dark line indicating where second section 214 should be placed to complete pyramid 176. Returning to FIG. 4, second section 214 has now been completed by selecting the appropriate shape from shape template 136 and placing the shape in snap zone 216. Pyramid chart 174 in FIG. 6, therefore, illustrates another use for snap zones so that graphics may be quickly and cleanly created in accordance with the present invention.

FIG. 5 also illustrates the use of snap zones in accordance with the present invention to quickly and clearly generate graphics. Concentric circles 194 in target chart 192 represent the snap zones for chart 192. Shapes selected from shape palette 136 automatically snap to concentric circles 194 thereby creating a neat clean target chart. FIGS. 1 through 6 illustrate that snap zones can have many sizes, shapes, and positionings, and that the type of chart dictates the configuration of the snap zones.

CYCLE SELECT

Cycle select is a feature that allows the user to select multiple shapes from a shape palette and to switch easily between the shapes when placing the shapes on a chart. An example of cycle select will be described in referring to comparison chart 76 of FIG. 3. When creating comparison chart 76 the user has many shape choices available on shape palette 136. By simultaneously selecting a number of these shapes, e.g., hexagon 218, octagon 220, and star 222, for placement in chart 76, and using cycle select, these shapes can be quickly and easily placed on chart 76.

Shapes are placed on chart 76 without cycle select by selecting the first shape in shape palette 136 and placing the shape on grid 146. To place the second shape on grid 146 the user must return to shape palette 136 and select the second shape, and so on for the third shape. With cycle select the user can select multiple shapes in shape palette 136 by depressing the "control" (CTRL) key while selecting a shape or range of shapes by holding down the "shift" key. Once cycle select has been activated, the first mouse click in chart 716 will draw one of the selected shapes in the same way shapes are usually drawn. What is different is that when the cursor is over that shape, e.g., hexagon 226 on grid 146, it will change to cycle select indicator 224. Clicking down within shape 226 again will replace that shape by the next selected shape, octagon 220, so that the user can repeatedly click down in the shape until the desired shape appears.

Cycle select provides the advantage of eliminating the need to go back to shape palette 136 every time a different shape is desired.

An example of the pseudo-code that may be used to implement cycle select may be found in Table II below.

TABLE II ______________________________________ Cycle Select ______________________________________ Part I: Shape Palette When mouse clicked in shape palette over shape icon If neither Control key nor Shift key pressed BEGIN Select shape in palette, deselect all others END Else if Control key pressed BEGIN If shape already selected then deselect, unless it is the only selected shape Else select shape in addition to already selected shapes END Else if Shift key pressed BEGIN Select range of shapes END Display shape icons that are selected as pressed down, all others up Designate shape that was clicked on as the next to be drawn Switch to shape draw mode Part II: Shape Draw Mode While moving mouse BEGIN If not over shape Display shape draw cursor Else if over shape BEGIN If shape under cursor is one that is selected in the shape palette display cycle select cursor Else Display other cursor, depending on chart type and draw mode END END When mouse is clicked down BEGIN If not over shape Draw the next shape from the palette that is designated to be drawn Else if over shape BEGIN If shape selected in the shape palette BEGIN Replace shape with next shape from palette that is selected, or by first shape when shape was last selected shape Designate the new shape as the one that will be drawn next END ELSE Other action END END ______________________________________

INSERT/DELETE BUTTONS

Referring to FIG. 3, insert/delete buttons 88 allow for deleting or adding rows, columns, or snap zones to a chart. To use buttons 88 the user must first select one or more snap zones or place holders in a chart. Alternatively, a shape previously placed on a chart may be selected. Selecting a shape automatically selects the snap zone underneath the selected shape. When the insert button (+) is selected, the user is presented with a dialogue box asking whether to insert rows, columns, or snap zones. When snap zones are to be inserted the user has the choice of moving existing shapes in the chart down or to the left. Deleting shapes or zones by selecting the delete button (-) works in a similar way. Insert/delete button 88, therefore, works similarly to the insert/delete row and column commands available with commercially available spreadsheet programs.

Referring to FIG. 3, in order to insert a row before hexagonal shape 226, shape 226 would first be selected with mouse 18 as shown. Then by selecting one of insert/delete buttons 88, grid 146 is appropriately modified so that a row, column, or shape is inserted into or deleted from grid 146 at hexagonal shape 226.

FIG. 4 also illustrates how insert/delete butto