|
Claims  |
|
|
I claim:
1. In a computer system having a display screen and a memory for storing
data, a method for effectively representing a generic form, said
representation intended to allow dynamic alteration of said generic form,
said generic form characterized as a two-dimensional space comprising a
plurality of non-overlapping bordered areas, each of said bordered areas
including none, one or more non-overlapping smaller bordered areas or
text, said text comprising none, one, or more lines of characters, each of
said smaller bordered areas included within an associated larger bordered
area in said bordered areas, said method comprising the steps of:
storing a plurality of records defining structure of said generic form,
each of said records associated with at least one of said bordered areas
and including information with respect to said at least one bordered area,
establishing interlinking indications in said records for identifying
structural relationships between said plurality of records, said
interlinking indications for identifying whether one of said bordered
areas includes any of said smaller bordered areas and whether one of said
bordered areas is included in any of said associated larger bordered
areas.
2. The method of claim 1 further including the step of determining whether
said included smaller bordered areas are arranged horizontally or
vertically within said associated larger bordered area in accordance with
said information in said records.
3. The method of claim 2 wherein said method further includes the step of:
operative when said smaller bordered area is included in said associated
larger bordered area and said smaller bordered area is arranged
horizontally in relation to other smaller bordered areas included within
said associated larger bordered area, determining which of said other
smaller bordered areas within said associated larger bordered area are
immediately adjacent to said associated smaller bordered area in
accordance with said information in said records.
4. The method of claim 2 wherein said method further includes the step of:
operative when said smaller bordered area is included in said associated
larger bordered area and said smaller bordered area is arranged vertically
in relation to other smaller bordered areas included within said
associated larger bordered area, determining which of said other smaller
bordered areas within said associated larger bordered area are immediately
above and below said smaller bordered area.
5. The method of claim 1 further including the step of:
operative when said associated larger bordered area includes a plurality of
said smaller bordered areas, determining a quantity of said plurality of
smaller bordered areas included within said associated larger bordered
area in accordance with said information in said records.
6. The method of claim 1 further including the step of determining a width
of one of said bordered areas in accordance with said information in said
records.
7. The method of claim 1 further including the step of determining a height
of one of said bordered areas in accordance with said information in said
records.
8. The method of claim 1 further including the step of determining a
location of one of said bordered areas within said generic form in
accordance with said information in said records.
9. The method of claim 8 wherein each of said plurality of bordered areas
are rectangular in shape and each of said rectangular bordered areas is
defined by two pairs of coordinates, each of said coordinate pairs
defining said location within said generic form, one of said pairs of
coordinates for identifying said location of top/left corner of said
rectangular area and another pair of coordinates for identifying said
location of bottom/right corner of said rectangular area, and said method
including the step of determining said coordinate values for said
coordinate pairs.
10. The method of claim 9 wherein each of said plurality of bordered areas
are rectangular in shape and each said rectangular bordered area defined
by two pairs of coordinates, each of said coordinate pairs defining said
location within said generic form, one of said pairs of coordinates for
identifying said location of top/right corner of said rectangular area and
another pair of coordinates for identifying said location of bottom/left
corner of said rectangular area, and said method including the step of
determining said coordinate values for said coordinate pairs.
11. The method of claim 1 wherein said computer system includes an output
means, said output means including a display means and a printer means and
each of said plurality of bordered areas is defined by a nonprintable
border and said method including the step of determining whether said
border is to be displayed on said display means in accordance with said
information in said records.
12. The method of claim 11 wherein each of said plurality of bordered areas
is also defined by a printable border and said method further including
the step of determining whether each of said printable borders is to be
displayed and printed by said display means and said printer means.
13. The method of claim 12 wherein said step further includes the step of
defining one or more attributes of said border.
14. The method of claim 13 wherein said one or more attributes includes a
thickness, a color, and a style and said step for defining said attributes
includes the step of defining said thickness, said color and said style of
said border.
15. The method of claim 1 wherein each of said included smaller bordered
areas is with an ordinal position within said associated larger bordered
area, and said method including the step of identifying at least one of
the first and the last said included smaller bordered area in said
associated larger bordered area.
16. The method of claim 5 further including the steps of:
storing a plurality of text records, and
operative when any of said bordered areas contains none of said smaller
bordered areas, pointing to a text record, said text record for storing
one or more characteristics of said text included within said any of said
bordered areas.
17. The method of claim 16 wherein said text record includes a pointer to
said text and said method further including the step of pointing to said
text which is included within said any of said bordered areas.
18. The method of claim 16 wherein said step further includes the step of
determining a height of each of said none, one or more lines of characters
in accordance with said text records.
19. The method of claim 16 wherein said step further includes the step of
determining a total number of said characters included within said any of
said bordered areas in accordance with said text records.
20. The method of claim 16 wherein said step further includes the step of
determining a character style of one or more said characters in accordance
with said text records.
21. The method of claim 16 wherein said step further includes the step of
determining a font type of one or more of said characters in accordance
with said text records.
22. The method of claim 16 wherein said step further includes the step of
determining a font size of one or more of said characters in accordance
with said text records.
23. The method of claim 16 wherein said method further includes the steps
of determining a quantity of said none, one or more lines of characters of
said text in accordance with said text record.
24. The method of claim 16 wherein said step further includes the step of
determining a position of each first character of each of said none, one
or more lines of characters in accordance with said text records.
25. The method of claim 16 wherein said step further includes the step of
determining a special justification of said text within said any of said
bordered areas.
26. The method of claim 25 including the step of justifying said text to a
right, left, top, bottom or middle border of said any of said bordered
areas.
27. The method of claim 1 further comprising the step of:
determining one or more additional characteristics of said bordered areas
needed for said dynamic alteration of said generic form in accordance with
said information in said records.
28. A computer apparatus for effectively representing a generic form, said
representation intended to allow dynamic alteration of said generic form,
said generic form characterized as a two-dimensional space comprising a
plurality of non-overlapping bordered areas, each of said bordered areas
including none, one or more non-overlapping smaller bordered areas or
text, said text comprising none, one, or more lines of characters, each of
said smaller bordered areas included within an associated larger bordered
area in said bordered areas, said computer apparatus comprising:
means for storing a plurality of records defining structure of said generic
form, each of said records being associated with at least one of said
bordered areas and including information of said at least one of said
bordered areas,
means for interlinking said plurality of records, said interlinking means
including means for identifying whether one of said bordered areas
includes any of said smaller bordered areas, and whether one of said
bordered areas is included in any of said associated larger bordered
areas.
29. The computer apparatus of claim 28 further comprising means for
determining whether said included smaller bordered areas are arranged
horizontally or vertically within said associated larger bordered area.
30. The computer apparatus of claim 29 further comprising:
when said smaller bordered area is included in said associated larger
bordered area and said smaller bordered area is arranged horizontally in
relation to other smaller bordered areas included within said associated
larger bordered area, means for determining which of said other smaller
bordered areas within said associated larger bordered area are immediately
adjacent to said associated smaller bordered area.
31. The computer apparatus of claim 29 further comprising:
when said smaller bordered area is included in said associated larger
bordered area and said smaller bordered area is arranged vertically in
relation to other smaller bordered areas included within said associated
larger bordered area, means for determining which of said other smaller
bordered areas within said larger bordered area are immediately above and
below said smaller bordered area in accordance with said information in
said records.
32. The computer apparatus of claim 28 further comprising:
when said associated larger bordered area includes a plurality of smaller
bordered areas, means for determining a quantity of said plurality of
smaller bordered areas included within said associated larger bordered
area in accordance with said information in said records.
33. The computer apparatus of claim 28 further comprising means for
determining a width of one of said bordered areas in accordance with said
information in said records.
34. The computer apparatus of claim 28 further comprising means for
determining a height of one of said bordered areas.
35. The computer apparatus of claim 28 further comprising means for
determining a location of one of said bordered areas within said generic
form in accordance with said information in said records.
36. The computer apparatus of claim 35 wherein each of said plurality of
bordered areas are rectangular in shape and each of said rectangular
bordered areas is defined by two pairs of coordinates, each of said
coordinate pairs defining said location within said form, one of said
pairs of coordinates for identifying said location of top/left corner of
said rectangular area and another pair of coordinates for identifying said
location of bottom/right corner of said rectangular area, and said
apparatus further comprising means for determining said coordinate values
for said coordinate pairs in accordance with the information in said
records.
37. The computer apparatus of claim 36 wherein each of said plurality of
bordered areas are rectangular in shape and each said rectangular bordered
area defined by two pairs of coordinates, each of said coordinate pairs
defining said location within said form, one of said pairs of coordinates
for identifying said location of top/right corner of said rectangular area
and another pair of coordinates for identifying said location of
bottom/left corner of said rectangular area, and said apparatus further
comprising means for determining said coordinate values for said
coordinate pairs.
38. The computer apparatus of claim 28 wherein said computer system
includes an output means, said output means including a display means and
a printer means and each of said plurality of bordered areas is defined by
a nonprintable border and said apparatus further comprising means for
determining whether said border is to be displayed on said display means
in accordance with said information in said records.
39. The computer apparatus of claim 38 wherein each of said plurality of
bordered areas is also defined by a printable border and said apparatus
further comprising means for determining whether each of said printable
border is to be displayed and printed by said display means and said
printer means in accordance with said information in said records.
40. The computer apparatus of claim 39 further comprising means for
defining one or more attributes of said border.
41. The computer apparatus of claim 40 wherein said one or more attributes
includes a thickness, a color, and a style and said means for defining
said attributes further comprising means for defining said thickness, said
color and said style of said border.
42. The computer apparatus of claim 28 wherein each of said included
smaller bordered areas is with an ordinal position within said associated
larger border area, and said apparatus further comprising means for
identifying at least one of the first and the last said included smaller
bordered area in said associated larger bordered area in accordance with
said information in said records.
43. The computer apparatus of claim 28 further comprising:
means for storing a plurality of text records, and
when any of said bordered areas contains none of said smaller bordered
areas, means for pointing to a text record, said text record for defining
one or more characteristics of said text included within said any of said
bordered areas.
44. The computer apparatus of claim 43 wherein said text record includes a
pointer to said text and said apparatus further comprises means for
pointing to said text which is included within said any of said bordered
areas.
45. The computer apparatus of claim 43 further comprising means for
determining a height of each of said none, one or more lines of
characters.
46. The computer apparatus of claim 43 further comprising means for
determining a total number of said characters included within said any of
said bordered areas.
47. The computer apparatus of claim 43 further comprising means for
determining a character style of one or more said characters.
48. The computer apparatus of claim 43 further comprising means for
determining a font type of one or more of said characters.
49. The computer apparatus of claim 43 further comprising means for
determining a font size of one or more of said characters.
50. The computer apparatus of claim 43 further including means for
determining a quantity of said none, one or more lines of characters of
said text.
51. The computer apparatus of claim 43 further comprising means for
determining a position of each first character of each of said none, one
or more lines of characters.
52. The computer apparatus of claim 43 further comprising means for
determining a special justification of said text within said any of said
bordered areas.
53. The computer apparatus of claim 52 further comprising means for
justifying said text to a right, left, top, bottom or middle border of
said any of said bordered areas.
54. The apparatus of claim 28 further comprising the step of:
means for determining one or more additional characteristics of said
bordered areas needed for said dynamic alteration of said generic form in
accordance with said information in said records.
55. A method for using a computer system for representing a generic form,
said representation intended to allow dynamic alteration of said generic
form, said generic form characterized as a two-dimensional space
comprising a plurality of non-overlapping bordered areas, each of said
bordered areas including none, one or more non-overlapping smaller
bordered areas or text, said text comprising none, one, or more lines of
characters, each of said smaller bordered areas included within an
associated larger bordered area in said bordered areas, said method
comprising the steps of:
building a hierarchical structure for said generic form in said computer
system, said building step including:
storing a plurality of records defining said hierarchical structure, each
of said records being associated with one of said bordered areas or text,
said hierarchical structure including a record for a top level bordered
area of said generic form and records for one or more lower level bordered
areas or text of said generic form,
establishing interlinking indications in said records for identifying said
hierarchical structural relationships between said bordered areas, said
interlinking indications identifying whether one of said bordered areas
includes any of said smaller bordered areas and whether one of said
bordered areas is included in any of said associated larger bordered
areas,
whereby said bordered areas and said text can be effectively represented by
said computer system from said top level bordered area to said lower level
bordered areas and text of said generic form. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
An apparatus and method are disclosed for incorporating a topological two
dimensional partitioning procedure for dynamically creating, revising,
storing, printing and displaying generic forms.
BACKGROUND OF THE INVENTION
In the past decade a growing interest has evolved for using computers for
generating forms. Forms have been and always will represent a
communications metaphor that document many different types of
transactions. Whether transactions happen with or without computers, forms
are everywhere. Most forms are preprinted, created and supplied by
external form suppliers. The Business Forms Management Association
estimates that businesses spend between $6 and $8 billion dollars a year
to create and print preprinted forms. Industry pundits estimate that
businesses spend as much as twenty times that amount storing, managing and
printing forms.
The process for generating a form is typically a tedious one. When the form
finally receives final approval and goes on to an outside printer, it gets
printed, distributed and hundreds of thousands of copies of the form are
inventoried into a paper storage. Each time the form undergoes
modification, the process of approval and storage starts all over again.
In an effort to economize the process of generating forms, electronic form
software has been developed. Such software is another example of the
personal computer's rapid displacement of functions previously done on
expensive, dedicated, single-purpose types of business equipment, such as
electronic publishing and business presentation graphics. Electronic forms
are defined as computer-generated forms that incorporate graphics which
exist independent of variable data and can be generated on demand.
Electronic form software provides individuals with an alternative to using
expensive phototypesetting equipment, with the additional benefit of
adding speed and accuracy.
Electronic forms represent significant cost savings to businesses. When
compared to the costs of designing and completing preprinted forms,
electronic forms save businesses money; they require no physical space,
they are easily revised (reducing waste of obsolete forms), and they often
are printed on cut sheet paper. The costs of using computer-generated
forms on cut sheet paper is less than purchasing preprinted forms. The
cost of completing forms, estimated to be as much as twenty times the cost
of the form, will be reduced by having built-in calculations and logic
checking.
Although electronic forms are stored in computers, the user can do many
things with electronic forms that are now done on preprinted forms; they
can be filled in, approved, filed, and printed. The current packages,
however, are limited in their application because these packages are
really just typing programs for enabling a user to efficiently fill in and
have neatly typed up a form.
Another type of form package enables a designer to design a form on screen
and save it for reuse, or to scan in an existing paper form, which is then
displayed on screen for completion. The advantage of these form packages
is the ability to produce the electronic form to the exact specifications
of the preprinted form, easing the user transition to the electronic form
by providing the same "look" to the electronic form. Many of these form
packages result in intelligent forms or smart forms. Intelligent forms
generally imply forms that are interactive in numerical intelligence. In
contrast to "dead forms", these forms will accept user entries, compute
values and may even link values or amounts to other forms. The
sophistication of the user entry acceptance (i.e. formatting, error
checking, etc.) and the sophistication of computation and linking may vary
considerably across different form packages.
A significant design issue in form generation with regard to these existing
packages is the level of flexibility that the package has in editing or
revising the form after a layout has been created. Stated differently,
even if a form package has tackled the complex issues of computations,
linking, interfacing with the database, etc., the ability of the package
to edit or revise the layout of the form is a pressing issue in
determining the value of an electronic form generation package. The issue
boils down to whether a form once created can be easily changed, for
example, by deleting a field, making a field smaller, making a field
larger, moving a field, all while the rest of the form automatically
adjusts to accommodate the change.
To date, no package has incorporated a concept of "graphics intelligence"
to enable a system to dynamically adjust and accommodate for changes in
the form. Graphics intelligence is a type of intelligence in form creation
which enables all of the elements within a form to "understand" their
positional relationships vis-a-vis each other. Hence, changes made to
element size, text font, text size, placement, shape, etc., may cause
other portions of the form to readjust, stretch, move over, or realign to
positionally accommodate the change while maintaining the overall
integrity or "basic look" of the form. By contrast, in existing form
packages, when certain changes in layout are made, subsequent manual
adjustments of other individual elements in the form may be required to
fit the new design. Without incorporating graphics intelligence, such
changes to the graphic layout of the form require a designer to redraw
portions of the form and in some circumstances to redraw the entire form.
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus that reduces or
eliminates the disadvantages of prior methods for changing the graphic
layout of a form referred to above.
Briefly the present invention includes an apparatus and method for
incorporating a topological two dimensional partitioning procedure for
using a computer for dynamically creating, revising, storing, displaying
and printing generic forms. For the first time, changes to the graphical
layout of a form, particularly a complex form, do not necessarily require
designer intervention in order to redraw portions of the form and, in some
circumstance, the entire form. Particularly, the present invention
provides a method and apparatus for maintaining the integrity of the form
(i.e. information integrity and structural integrity) by readjusting,
stretching, realigning, etc. bordered areas within the form in order to
accommodate changes made to bordered area size, text font, text size,
placement, shape, etc.
The preferred embodiment of the invention includes an apparatus and method
for dynamically altering a generic form in a computer. The form can be
characterized as a two-dimensional space partitioned into a plurality of
bordered areas. One or more bordered areas include text. The text includes
none, one or more lines of characters and each character of the text has
adjustable font attributes. The adjustable font attributes include font
type, font style, and font size. The method of the preferred embodiment
for dynamically altering the form occurs in the following two steps.
First, for one or more bordered areas of the form, the size of the one or
more bordered areas is altered by changing the adjustable height and/or
the adjustable width of the one or more bordered areas so that the
adjusted one or more bordered areas overlap one or more other bordered
areas of the form. For the bordered areas having one or more lines of
text, the font attributes of the text may also be changed so that the text
overlaps into one or more other bordered areas of the form.
Second, for one or more bordered areas of the form, the adjustable height
and/or the adjustable width and/or the adjustable font attributes of the
text are dynamically altered (i.e. increased or decreased) in order to
ensure that overlapping does not occur.
In the preferred embodiment the step of dynamically altering the adjustable
height and/or the adjustable width and/or the adjustable font attributes
includes the step of aligning the borders of at least two of the bordered
areas so that the borders maintain alignment regardless of what happens as
a result of the step of dynamic altering. This step typically includes
aligning the borders of the at least two bordered areas in a vertical
direction or a horizontal direction.
The present invention also includes another embodiment method for
representing a generic form in a computer. The form comprises a plurality
of bordered areas. The bordered area is considered to be the fundamental
structural unit within the form and it contains other smaller bordered
areas, text or the graphics. The text consists of one or more characters,
and the graphics includes any two dimensional drawings (i.e. lines,
arrows, circles, polygons, fills, pictures, etc.). For purposes of
describing the preferred embodiment of the present invention, bordered
areas shall be limited to containing text or other bordered areas, but it
should not be limited thereto Each of the bordered areas may also be
included within a larger bordered area. Each of the bordered areas of the
form is associated with a record which defines the characteristics of the
associated bordered area. The method for representing a generic form
comprises the following two steps. For each of the associated records of
the bordered areas of the form, the first step includes indicating the
larger bordered area, if any, which contains the bordered area, and the
second step includes indicating the plurality of smaller bordered areas,
if any, which are included within the bordered area.
Furthermore, the method may also include the step of indicating within the
associated record of the bordered area whether the included smaller
bordered areas are arranged horizontally or vertically. The orientation of
the bordered areas is important for enabling the preferred embodiment to
properly accommodate changes in the size of each bordered area.
The preferred embodiment also includes a method and apparatus in a computer
for calculating the size of one or more bordered areas within a generic
form. The size of each of the bordered areas is represented by a width and
a height. Each of the bordered areas may be included in a larger bordered
area and each bordered area includes a plurality of smaller nonoverlapping
bordered areas or text. Text consists of none, one or more lines of
characters. The method for calculating the size of the bordered area
occurs in the following steps.
The width of one of the bordered areas (the currently processed bordered
area) of the generic form is obtained. Then a determination is made as to
whether the bordered area includes a plurality of smaller bordered areas
or whether the bordered area includes text. When the bordered area
includes text, the next step includes determining the height of the
bordered area by determining the cumulative height of the none, one or
more lines of characters. When the bordered area includes the plurality of
smaller bordered areas, the next step includes determining whether the
included smaller bordered areas are arranged within the bordered area
horizontally or vertically. When the included smaller bordered areas are
arranged horizontally, the next step includes determining the height of
each of the included smaller bordered areas, determining which of the
determined heights is the maximum height and determining the width of each
of the included smaller bordered areas. When the included smaller bordered
areas are arranged vertically, the next step includes determining the
height of each of the included bordered areas and determining the
cumulative height of all of the included bordered areas. The widths of the
vertically arranged included smaller border areas are equal to or less
than the width obtained for the currently processed bordered area.
The steps for determining the height of each of the included smaller
bordered areas further include the step of performing of the steps of the
above method one or more times to determine the size of each of these
smaller included bordered areas. This process continues until all of the
bordered areas within the form and their smaller included bordered areas
(descendants) have been sized.
Additionally, the preferred embodiment of the invention includes a method
and an apparatus in a computer for placing the contents of each bordered
area of a generic form. The contents of the bordered area includes a
plurality of nonoverlapping smaller bordered areas or none, one or more
lines of text. The bordered area has top, bottom, left and right boundary
locations and the bordered area may be included within a larger bordered
area. The smaller included bordered areas (if any) also have top, bottom,
left and right boundary locations. The method for determining the location
of the contents the bordered area occurs in the following steps.
The locations of the top, bottom, left and right boundaries of the bordered
area whose contents need to be located are obtained. Then a determination
is made as to whether the bordered area includes the plurality of smaller
bordered areas or text. When the bordered area includes text, then a
determination is made as to whether the text should be aligned to the top,
middle or bottom boundaries of the bordered area. When the bordered area
includes smaller bordered areas, then a determination is made as to
whether the smaller bordered areas are arranged within the bordered area
horizontally or vertically. Assuming that the bordered area contains
horizontally arranged smaller bordered areas, the location of the left and
right boundaries for each of the included smaller bordered areas are
determined. The location of the top boundary for each of the included
smaller bordered areas are aligned (adjusted) to the top boundary of the
bordered area. The location of the bottom boundary for each of the
included smaller bordered areas are aligned to the bottom boundary of the
bordered area. When the bordered area contains vertically arranged
bordered areas, the location of the top and bottom boundaries for each of
the included smaller bordered areas are determined. The location of the
left boundary of each of the included smaller bordered areas are aligned
to the left boundary of the bordered area, and the location of the right
boundary for each of the included smaller bordered areas are aligned to
the right boundary of the bordered area.
The displayed form is typically represented by a plurality of pixels which
are selectively enabled or disabled on a display. Each pixel identifies an
X,Y coordinate address. In the preferred embodiment, each of the bordered
areas within the generic form is rectangular in shape and each of the
bordered areas is represented by two pairs of X,Y coordinate addresses.
One of the pairs of the X,Y coordinate addresses represents the location
of one corner of the rectangular bordered area and the other represents
the opposite corner of the rectangular bordered area. The method for
placing the contents for each bordered area of the generic form further
contains the step of, assigning the locations of the bordered areas of the
generic form their X,Y coordinate addresses. In this way, the locations of
the top, bottom, left and right boundaries for the bordered areas are
defined.
Lastly, the preferred embodiment of the invention also includes an
apparatus and method for displaying and printing the generic form
according to the locations determined for each of the bordered areas of
the generic form.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram representation of a computer system 2 for
creating, revising, storing, displaying and printing generic forms in
accordance with the present invention;
FIG. 2 depicts a bordered area having three elements (portions) and
demonstrates reconfiguration without graphics intelligence;
FIG. 3 depicts the same bordered area having three elements as shown in
FIG. 2 and demonstrates reconfiguration with graphics intelligence and
without horizontal constraints;
FIG. 4 depicts the bordered area having three elements as shown in both
FIG. 2 and FIG. 3 and demonstrates reconfiguration with graphics
intelligence and with horizontal constraints;
FIG. 5A depicts a typical form as displayed on the screen display means (5
FIG. 1) of the computer system 2 (FIG. 1);
FIG. 5B depicts a menu item requested by a user of computer system 2 (FIG.
1) for changing font size of a portion of the form text (the "Caption
Text" i.e., columns 44 and 46, FIG. 5A) from 9 points to 15 points;
FIG. 6A depicts the form as shown in FIGS. 5A and 5B with the font size
increased to 15 points resulting in rewrapping of text and the vertical
length of the resulting form scrolled off the top and bottom of the
screen;
FIG. 6B depicts the form of FIG. 6A with the numbering field moved to left,
forcing text to the wrap and the vertical length to readjust in order to
accommodate for the reduced horizontal width;
FIG. 7A depicts the form of FIG. 6B with the right border of the numbering
field moved to the right, extending the horizontal width of the numbering
field and the numbers are recentered.
FIG. 7B depicts the form of FIG. 7A with the left border of the numbering
field moved further to the right, causing text to automatically unwrap to
fill the additional horizontal space and causing the form to shrink
vertically;
FIG. 8A depicts a form similar to FIGS. 5A-7B, which is further divided)
into rectangular bordered areas;
FIG. 8B shows a hierarchial tree structure representation of the top
portion of the form as shown in FIG. 8A;
FIG. 8C is a table representation of the top portion of the form as shown
in FIGS. 8A and 8B, indicating whether the bordered area includes smaller
bordered areas (or descendants) or text;
FIG. 9 depicts a flow block diagram of the RESIZE/REDRAW Routine performed
by the computer system 2 (FIG. 1) for resizing and redrawing generic
forms;
FIG. 10 depicts a flow block diagram of the FITFORM Routine referenced
during the RESIZE/REFORM Routine (FIG. 9) for determining the size and
placement of the root bordered area of the form and all of its
descendants;
FIG. 11 is a flow block diagram of the DRAWFORM Routine referenced during
the RESIZE/REFORM Routine (FIG. 9) for displaying the resized form and all
of its descendant bordered areas on display screen 5 (FIG. 1);
FIG. 12 is a flow block diagram of the PLACEFORM Routine referenced during
the FITFORM Routine (FIG. 10) for determining the location or placement of
the root bordered area of a form and all of its descendants;
FIG. 13A is a flow block diagram of the FITCELL Routine referenced during
the FITFORM Routine (FIG. 10) for resizing a bordered area of a form;
FIG. 13B is a flow block diagram of the COMPUTE SIZE FOR TEXT CELL Routine
referenced during the FITCELL Routine (FIG. 13A) for calculating the size
of a bordered area containing text;
FIG. 13C is a flow block diagram of the COMPUTE SIZE FOR VERTICAL CELL
Routine referenced during the FITCELL Routine (FIG. 13A) for determining
the size of a bordered area which contains vertically arranged
descendants;
FIG. 13D is a flow block diagram of the COMPUTE SIZE FOR HORIZONTAL CELL
Routine referenced during the FITCELL Routine (FIG. 13A) for determining
the size of a bordered area which contains horizontally arranged
descendants;
FIG. 13E is a flow block diagram of the REAPPORTION CHILDRENS' WIDTH
Routine referenced during the COMPUTE SIZE FOR HORIZONTAL CELL Routine
(FIG. 13D) for apportioning the total width available among each of the
descendants;
FIG. 14A depicts a "blown-up" version of the upper lefthand corner of the
form shown in FIG. 8A;
FIG. 14B is a table representation of the form shown in FIG. 14A along with
old and new widths, heights, rectangular coordinates and the type of
contents of each bordered area;
FIGS. 15A, 15B and 15C depict a results table for showing the contents of a
stack and the currently processed bordered area according a detailed
example of FITCELL Routine Set (FIGS. 13A-F);
FIG. 16A is a flow block diagram of the PLACECELL Routine referenced by the
PLACEFORM Routine (FIG. 12) for calculating the boundary locations for the
contents of the bordered area currently processed;
FIG. 16B is a flow block diagram of the PLACE TEXT CELL Routine referenced
during the PLACECELL Routine (FIG. 16A) for determining the displayable
area and the text drawing area for the text of the currently processed
bordered area;
FIG. 16C is a flow block diagram of the PLACE HORIZONTAL CELL Routine
referenced during the PLACECELL ROUTINE (FIG. 16A) for determining the
left and right boundary locations for each of the horizontally arranged
children associated with the currently processed bordered area;
FIG. 16D is a flow block diagram of the PLACE VERTICAL CELL Routine
referenced during the PLACECELL ROUTINE (FIG. 16A) for determining the top
and bottom locations for each vertically arranged child within the
currently processed bordered area;
FIG. 16E is a flow block diagram of the DETERMINE VERTICAL ALIGNMENT
Routine referenced during the PLACE VERTICAL CELL Routine (FIG. 16E) for
determining the vertical location of the top-most border of the first
vertically arranged child within the currently processed bordered area;
FIG. 16F is a flow block diagram of the JUSTIFIED Routine referenced during
the DETERMINE VERTICAL ALIGNMENT Routine (FIG. 16E) and the PLACE TEXT
CELL Routine (FIG. 16B) for calculating the starting | | |