|
Claims  |
|
|
I claim:
1. In a computer, a system for designing a form system, said system
executing a set of commands for creating and modifying said form system
and displaying said form system ill a peripheral device of the computer on
a 2-dimensional plane having x- and y-coordinates, said system comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-Coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form structure, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells in accordance with said set of commands;
means for displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group;
means for creating one or more column rule groups each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group;
means for receiving an x-coordinate and a y-coordinate, said x-coordinate
and said y-coordinate defining a location on said 2-dimensional plane; and
means for identifying a rule group using said location, wherein if said
location is within a predetermined distance of a rule, the rule group
which included said rule is identified, and if said location is not within
a predetermined distance of a rule, a new rule group is created and
identified.
2. In a computer, a system for designing a form structure, said system
executing a set of commands for creating and modifying said form system
and displaying said form structure in a peripheral device of the computer
on a 2-dimensional plane having x- and y-coordinates, said system
comprising:
means or creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group;
means for creating one or more column rule groups each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group;
means for receiving as input an x-coordinate and a y-coordinate, said
x-coordinate and said y-coordinate defining a location on said
2-dimensional plane;
means for receiving as input a signal indicating whether an alignment grid
is activated; and
means for identifying a rule group using said location and said signal,
wherein
(i) if said location is within a predetermined distance of a rule, the rule
group which included said rule is identified,
(ii) if said location is not within a predetermined distance of a rule, but
within a predetermined distance of a rule group, and said alignment grid
is activated, said rule group is identified, and
(iii) if said alignment grid is activated, and said location is neither
within a predetermined distance of a rule, nor within said predetermined
distance of a rule group, a new rule group is created and identified.
3. In a computer, a system for designing a form system, said system
executing a set of commands for creating and modifying said form system
and displaying said form system in a peripheral device of the computer on
a 2-dimensional plane having x- and y-coordinates, said system comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group;
means sot creating one or more column rule groups, each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group;
means for receiving as input an x-coordinate and a y-coordinate, said
x-coordinate and said y-coordinate defining a location on said
2-dimensional plane;
means for receiving as input a signal indicating whether an alignment grid
is activated; and
means for identifying a rule group using said location and said signal,
wherein
(i) if said location is a predetermined distance of a rule group, and said
alignment grid is activated, said rule group is identified,
(ii) if said location is not within a predetermined distance of a rule
group, but within a predetermined distance of a rule, the rule group which
included said rule is identified, and
(iii) if said alignment grid is activated and said location is neither
within a predetermined distance of a rule, nor within said predetermined
distance of a rule group, a new rule group is created and identified.
4. In a computer, a system for designing a form structure, said system
executing a set of commands for creating and modifying said form system
and displaying said form structure in a peripheral device of the computer
on a 2-dimensional plane having x- and y-coordinates, said system
comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules each rule having first and
second end points of the same y-coordinate, each of said first and second
end points each row rule having the same x-coordinate as the x-coordinate
of an end point of at least one column within said plurality of column
rules, and each of said first and second end points of each column rule
having the same y-coordinate of an end point of at least on row rule
within said plurality of row rules;
means for creating one or more cells in said form structure, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form structure on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rues being included in one and only one
row rule group;
means or creating one or more column rule groups, each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group; and
means for creating a hanging relationship between an end point of a first
rule and a second rule, such that said end point of said first rule
imposes a requirement of lying on said second rule, and wherein if said
first rule is a column rule, then said second rule is a row rule, and if
said first rule is a row rule, then said second rule is a column rule.
5. A system as in claim 4, further comprising means for shifting a rule
group a directed distance said shift creating one or more areas defined by
the loci of points in the one or more rules within said rule group shifted
said directed distance.
6. A system as in claim 5, further comprising means for eliminating, said
means for eliminating eliminates, when a rule overlaps said areas, from
said rule a portion of said rule overlapping said areas.
7. A system as in claim 5, further comprising means for maintaining hanging
relationships wherein a first collection of rules being rules having end
points hanging onto a shifted rule before said shift, are extended or
shrunk so as to maintain the requirements created by said means for
creating a hanging relationship.
8. A system as in claim 7, wherein said means for maintaining hanging
relationship further creates hanging relationships after said shift
between said shifted rule group and a second collection of rules, said
second collection of rules being rules having end points hanging onto a
portion of a rule eliminated by said means for eliminating as a result of
said shift, each rule within said second collection of rules being
extended or shrunk, so as to establish a requirement that the endpoint of
said second collection rule lie on said selected rule.
9. A system as in claim 5, further comprising means for eliminating cells
located entirely within said areas, and for resizing cells partly
overlapping said areas before said shift, by eliminating from said cells
those portions of said cells overlapping said areas.
10. A system as in claim 5, wherein when said directed distance is along
neither the x-direction nor the y-direction, said shift is a combination
of a shift along the x-direction and a shift along the y-direction.
11. A system as in claim 5, further comprising means for shifting multiple
rule groups by a directed distance, said means for shifting multiple rule
groups applies said means for shifting a rule group on said multiple rule
groups, one rule group at a time and in a predetermined order.
12. A system as in claim 11, wherein said means for shifting multiple rule
groups shifts said multiple rule groups such that:
(i) if said shift includes a shift in the decreasing x-direction, the
x-coordinate of each of said multiple rule groups, beginning with the rule
group having the least x-coordinate;
(ii) if said shift includes a shift in the increasing x-direction, the
x-coordinate of each of said multiple rule groups, beginning with the rule
group having the greatest x-coordinate;
(ii) if said shift includes a shift in the decreasing y-direction, the
y-coordinate of each of said multiple rule groups, beginning with the rule
group having the least y-coordinate; and
(iv) if said shift includes a shift in the increasing y-direction, the
y-coordinate of each of said multiple rule groups, beginning with the rule
group having the greatest y-coordinate.
13. In a computer, a system for designing a form structure, said system
executing a set of commands for creating and modifying said form structure
and displaying said form structure in a peripheral device of the computer
on a 2-dimensional plane having x- and y-coordinates, said system
comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means sot creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group;
means for creating one or more column rule groups, each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group:
means for receiving as input an identification of a rule group, and
means for receiving as inputs first and second coordinates, said first and
second coordinates being y-coordinates when said rule group is a column
rule group, and said first and second coordinates being x-coordinates when
said rule group is a row rule group; and
means for creating a new rule based on whether said rule group is a column
rule group or a row rule group, and also on values of said first and
second coordinates, wherein
(i) if said rule group is a column rule group, said new rule is created as
a column rule and added to said rule group, said new rule extending from a
point within a first row rule intersecting said new rule, said first row
rule being the intersecting row rule having the greatest y-coordinate
which is less than or equal to the lesser of said first and second
coordinates, to a point within a second row rule intersecting said new
rule, said second row rule being the intersecting row rule having the
least y-coordinate which is greater than or equal to the greater of said
first and second coordinates; and
(ii) if said rule group is a row rule group, said new rule is created as a
row rule and added to said rule group, said new rule extending from a
point within a first column rule intersecting said new rule, said first
column rule being the intersecting column rule having the greatest
x-coordinate which is less than or equal to the lesser of said first and
second coordinates, to a point within a second column rule intersecting
said new rule, said second column rule being the intersecting column rule
having the least x-coordinate which is greater than or equal to the
greater of said first and second coordinates.
14. A system as in claim 13, further comprising:
first means for eliminating, said first means for eliminating
(i) detecting a row rule overlap condition in which two row rules of a row
rule group overlap each other and
(ii) eliminating, when such row rule overlap condition is detected, from
one of said overlapping row rules the portion of said row rule which
overlaps the other one of said overlapping row rules, and
second means for eliminating, said second means or eliminating
(i) detecting a column rule overlap condition in which two column rules of
a column rule group overlap each other and
(ii) eliminating, when said column rule overlap condition is detected, from
one of said column rules a portion of said column rule which overlaps the
other one of said overlapping column rules.
15. In a computer, a system for designing a form system, said system
executing a set of commands for creating and modifying said form system
and displaying said form system in a peripheral device of the computer on
a 2-dimensional plane having x- and y-coordinates, said system comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means or creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said plurality of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form structure on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each [9rule group having the same y-coordinate, and each row rules
within said plurality of row rules being included in one and only one row
rule group;
means for creating one or more column rule groups, each column rule group
including one or more columns of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rule being included in
one and only one column rule group;
first means for eliminating, said first means for eliminating
(i) detecting a row rule overlap condition in which two row rules of a row
rule group overlap each other, and
(ii) eliminating, when said row rule overlap condition is detected, from
one of said overlapping row rules a portion of said row rule which
overlaps the other one of said overlapping row rules, and
second means for eliminating, said second means for eliminating
(i) detecting a column rule overlap condition in which two column rules
overlap each other, and
(ii) eliminating, when said column rule overlap condition is detected, from
one of said overlapping column rules a portion of said column rule which
overlaps the other one of said overlapping column rules.
16. In a computer, a system for designing form structure, said system
executing a set of commands for creating and modifying said form structure
and displaying said form structure in a peripheral device of the computer
on a 2-dimensional plane having x- and y-coordinates, said system
comprising:
means or creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same X-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means or displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group;
means for creating one or more column rule groups each column rule group
including one or more column rule of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, an
each column rule within said plurality of column rules being included in
one and only one column rule group; and
means for changing the length of a designated rule, wherein said means for
changing moves a designated end point of said designated rule according to
a specified location, wherein:
(i) if said designated rule is a column rule, and said designated end point
is the end point of said designated rule having the greater y-coordinate,
the length of said designated rule is changed by relocating said
designated end point to intersect the row rule having the least
y-coordinate which is greater than or equal to the y-coordinate of said
specified location, without causing a row rule which touches said
designated rule prior to said relocation to become not touching a column
rule within the column rule group of said designated rule after said
relocation;
(ii) if said designated rule is a column rule, and said designated end
point is the end point of said designated rule having the lesser
y-coordinate, the length of said designated rule is changed by relocating
said designated end point to intersect the row rule having the greatest
y-coordinate which is less than or equal to the y-coordinate of said
specified location, without causing a row rule which touches said
designated rule prior to said relocation to become not touching a column
rule within the column rule group of said designated rule after said
relocation;
(iii) if said designated rule is a row rule, and said designated end point
is the end point of said designated rule having the greater x-coordinate,
the length of said designated rule is changed by relocating said
designated end point to intersect the column rule having the least
x-coordinate which is greater than or equal to the x-coordinate of said
specified location, without causing a column rule which touches said
designated rule prior to said relocation to become not touching a row rule
within the row rule group of said designated rule after said relocation;
and
(iv) if said designated rule is a row rule, and said designated end point
is the end point of said designated rule having the lesser x-coordinate,
the length of said designated rule is changed by relocating said
designated end point to intersect the row rule having the greatest
x-coordinate which is less than or equal to the x-coordinate of said
specified location, without causing a column rule which touches said
designated rule prior to said relocation to become not touching a row rule
within the row rule group of said designated rule after said relocation.
17. In a computer, a system for designing a form structure, said system
executing a set of commands for creating and modifying said form structure
and displaying said form structure in a peripheral device of the computer
on a 2-dimensional plane having x- and y-coordinates, said system
comprising:
means for creating a plurality of column rules, each column rule having
first and second end points of the same x-coordinate;
means for creating a plurality of row rules, each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule having the same x-coordinate as the
x-coordinate of an end point of at least one column rule within said
plurality of column rules, and each of said first and second end points of
each column rule having the same y-coordinate of an end point of at least
one row rule within said plurality of row rules;
means for creating one or more cells in said form system, each cell
bordered by column and row rules of said pluralities of column and row
rules;
means for modifying said plurality of row rules, said plurality of column
rules, and said one or more cells, in accordance with said set of
commands;
means for displaying said form system on said 2-dimensional plane, in
accordance with said set of commands;
means for creating one or more row rule groups, each row rule group
including one or more row rules of said plurality of row rules, each row
rule in each row rule group having the same y-coordinate, and each row
rule within said plurality of row rules being included in one and only one
row rule group:
means for creating one or more column rule groups, each column rule group
including one or more column rules of said plurality of column rules, each
column rule in each column rule group having the same x-coordinate, and
each column rule within said plurality of column rules being included in
one and only one column rule group; and
means for changing the length of a designated rule, wherein said means for
changing moves a designated end point of said designated rule according to
a specified location, wherein:
(i) if said designated rule is a column rule, and said designated end point
is the end point of said designated rule having the greater y-coordinate,
(a) the length of said designated rule is changed by relocating said
designated end point to intersect the row rule having the least
y-coordinate which is greater than or equal to the y-coordinate of said
specified location, and
(b) the end point of a row rule, which lies on said designated rule prior
to said relocation and which does not lie on a column rule within the
column rule group of said designated rule after said relocation, is
relocated in the direction of increasing length of said row rule to
intersect a column rule;
(ii) if said designated rule is a column rule, and said designated end
point is the end point of said designated rule having the lesser
y-coordinate,
(a) the length of said designated rule is changed by relocating said
designated end point to intersect the row rule having the greatest
y-coordinate which is less than or equal to the y-coordinate of said
specified location, and
(b) the end point of a row rule, which lies on said designated rule prior
to said relocation and which does not lie on a row rule within the column
rule group of said designated rule after said relocation, is relocated in
the direction of increasing length of said row rule to intersect a column
rule;
(iii) if said designated rule is a row rule, and said designated end point
is the end point of said designated rule having the greater x-coordinate,
(a) the length of said designated rule is changed by relocating said
designated end point to intersect the column rule having the least
x-coordinate which is greater than or equal to the x-coordinate of said
specified location, and
(b) the end point of a column rule, which lies on said designated rule
prior to said relocation and which does not lie on a row rule within the
row rule group of said designated rule after said relocation, is relocated
in the direction of increasing length of said column rule to intersect a
row rule; and
(iv) if said designated rule is a row rule, and said designated end point
is the end point of said designated rule having the lesser x-coordinate,
(a) the length of said designated rule is changed by relocating said
designated end point to intersect the column rule having the greatest
x-coordinate which is less than or equal to the x-coordinate of said
specified location, and
(b) the end point of a column rule, which lies on said designated rule
prior to said relocation and which does not lie on a row rule within the
row rule group of said designated rule after said relocation, is relocated
in the direction of increasing length of said column rule to intersect a
row rule.
18. In a computer, a method for designing a form structure, said form
structure being drawn on a 2-dimensional plane represented by x- and
y-coordinates comprising the steps of:
providing a plurality of column rules wherein each column rule having first
and second end points of the same x-coordinate;
providing a plurality of row rules wherein each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule has the same x-coordinate as the x-coordinate
of an end point of at least one column rule within said plurality of
column rules, and each of said first and second end points of each column
rule has the same y-coordinate of an end point of at least one row rule
within said plurality of row rules;
providing one or more cells, each cell bordered by column and row rules
included in said pluralities of column and row rules;
providing one or more row rule groups, each row rule group including one or
more row rules of said plurality of row rules, each row rule in each row
rule group having the same y-coordinate, and each row rule within said
plurality of row rules being included in one and only one row rule group;
providing one or more column rule groups, each column rule group including
one or more column rules of said plurality of column rules, each column
rule in each column rule group having the same -coordinate, and each
column rule within said plurality of column rules being included in one
and only one column rule group;
receiving an x-coordinate and a y-coordinate, said x-coordinate and said
y-coordinate defining a location on said 2-dimensional plane; and
identifying a rule group using said location, wherein if said location is
within a predetermined distance of a rule, the rule group which included
said rule is identified, and if said location is not within a
predetermined distance of a rule, a new rule group is created and
identified.
19. In a computer, a method for designing a form system, said form system
being drawn on a 2-dimensional plane represented by x- and y-coordinates,
comprising the steps of:
providing a plurality of column rules wherein each column rule having first
and second end points of the same x-coordinate;
providing a plurality of row rules wherein each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule ha the same coordinate as the x-coordinate of
an end point of at least one column rule within said plurality of column
rules, and each of said first and second end points of each column rule
has the same y-coordinate of an end point of at least one row rule within
said plurality of row rules;
providing one or more cells, each cell bordered by column and row rules
included in said pluralities of column and row rules;
providing one or more row rule groups, each row rule group including one or
more row rules of said plurality of row rules, each row rule in each row
rule group having the same y-coordinate, and each row rule within said
plurality of row rules being included in one and only one row rule group;
providing one or more column rule groups, each column rule group including
one or more column rules of said plurality of column rules, each column
rule in each column rule group having the same x-coordinate, and each
column rule within aid plurality of column rules being included in one and
only one column rule group;
receiving as input an x-coordinate and a y-coordinate, said x-coordinate
and said y-coordinate defining a location on said 2-dimensional plane;
receiving as input a signal indicating whether an alignment grid is
activated; and
identifying a rule group using said location and said signal, wherein
(i) if said location is within a predetermined distance of a rule, the rule
group which included said rule is identified,
(ii) if said location is not within a predetermined distance of a rule, but
within a predetermined distance of a rule group, and said alignment grid
is activated, said rule group is identified, and
(iii) if said alignment grid is activated, said location is neither within
a predetermined distance of a rule, nor within said predetermined distance
of a rule group, a new rule group is created and identified.
20. In a computer, a method for designing a form structure, said form
structure being drawn on a 2-dimensional plane represented by x- and
y-coordinates, comprising the steps of:
providing a plurality of column rules wherein each column rule having first
and second end points of the same x-coordinate;
providing a plurality of row rules wherein each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule has the same x-coordinate as the x-coordinate
of an end point of at least one column rule within said plurality of
column rules, and each of said first and second end points of each column
rule has the same y-coordinate of an end point of at least one row rule
within said plurality of row rules;
providing one or more cells each cell bordered by column and row rules
included in said pluralities of column and row rules;
providing one or more row rule groups, each row rule group including one or
more row rules of said plurality of row rules, each row rule in each row
rule group having the same y-coordinate, and each row rule within said
plurality of row rules being included in one and only one row rule group;
providing one or more column rule groups, each column rule group including
one or ore column rules of said plurality of column rules, each column
rule in each column rule croup having the same coordinate, and each column
rule within said plurality of column rules being included in one and only
one column rule group;
receiving as input an x-coordinate and a y-coordinate, said x-coordinate
and said y-coordinate defining a location on said 2-dimensional plane;
receiving as input a signal indicating whether an alignment grid is
activated; and
identifying a rule group using said location and said signal, wherein
(i) if said location is a predetermined distance of a rule group, and said
alignment grid is activated, said rule group is identified,
(ii) if said location is not within a predetermined distance of a rule
group, but within a predetermined distance of a rule, the rule group which
included said rule is identified, and
(iii) if said alignment grid is activated and said location is neither
within a predetermined distance of a rule, nor within said predetermined
distance of a rule group, a new rule group is created and identified.
21. In a computer, a method for designing a form structure, said form
structure being drawn on a 2-dimensional plane represented by x- and
y-coordinates, comprising the steps of:
providing a plurality of column rules wherein each column rule having first
and second end points of the same x-coordinate;
providing a plurality of row rules wherein each row rule having first and
second end points of the same y-coordinate, each of said first and second
end points of each row rule has the same x-coordinate as the x-coordinate
of an end point of at least one column rule within said plurality of
column rules, and each of said first and second end points of each column
rule has the same y-coordinate of an end point of at east one row rule
within said plurality of row rules;
providing one or more cells, each cell bordered by column and row rules
included in said pluralities of column and row rules;
providing one or more row rule groups, each row rule group including one or
more row rules of said plurality of row rules, each row rule in each row
rule group having the same y-coordinate, and each row rule within said
plurality of row rules being included in one and only one row rule group;
providing one or more column rule groups, each column rule group including
one or more column rules of said plurality of column rules, each column
rule in each column rule group having the same x-coordinate, and each
column rule within said plurality of column rules being included in one
and only one column rule group; and
creating a hanging relationship between an end point of a first rule and a
second rule, such that said end point of said first rule imposes a
requirement of lying on said second rule, and wherein if said first rule
is a column rule, then said second rule is a row rule, and if said first
rule is a row rule, then said second rule is a column rule.
22. A method as in claim 21, further comprising the step of for shifting a
rule group a directed distance, said shift creating one or more areas
defined by the loci of points in the one or more rules within said rule
group shifted said directed distance.
23. A method as in claim 22, further comprising the steps of:
detecting an area overlap condition in which a rule overlaps said areas;
and
eliminating from said rule a portion of said rule overlapping said areas.
24. A method as in claim 22, further comprising the step of maintaining
hanging relationships, wherein a first collection of rules, being rules
having end points hanging onto a shifted rule before said shift, are
extended or shrunk so as to maintain the requirements created by said step
of creating a hanging relationship.
25. A method as in claim 24, wherein said setp of maintaining hanging
relationship further creates hanging relationships after said shift
between said shifted rule group and a second collection of rules, said
second collection of rules being rules having end points hanging onto a
portion of a rule eliminated in said step of eliminating as a result of
said shift, each rule within said second collection of rules being
extended or shrunk, so as to establish a requirement that the endpoint of
said second collection rule lie on said selected rule.
26. A method as in claim 22, further comprising the step of providing means
for eliminating cells located entirely within said areas, and for resizing
cells partly overlapping said areas before said shift, by eliminating from
said cells those portions of said cel | | |