|
|
|
| United States Patent | 5819055 |
| Link to this page | http://www.wikipatents.com/5819055.html |
| Inventor(s) | MacLean; Brendan X. (Seattle, WA); Christian; Bradford A. (Redmond, WA) |
| Abstract | A method and apparatus are provided for docking re-sizeable graphical user
interface (GUI) boxes to a docking region located along a side of a
primary GUI box with which the dock is associated. When a first GUI box
becomes associated with a dock so that at least one resizeable GUI box is
associated with a row of the dock to which the first GUI box is to be
added, the dimensions of at least one GUI box associated with the row of
the dock are altered automatically so that the docked GUI box occupies a
prescribed length of a row of the dock.
In a row containing at least two re-sizeable GUI boxes, a row minor
splitter detection region is provided for simultaneously altering the
along dimension of at least two of the re-sizeable GUI boxes. In a row
containing at least one re-sizeable GUI box, a row major splitter
detection region is provided for modifying the across dimension of the row
and all re-sizeable windows contained in the row. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5819055 |
|
|
Method and apparatus for docking re-sizeable interface boxes |
|
|
|
|
|
| Publication Date |
October 6, 1998 |
|
|
|
|
|
| Filing Date |
December 13, 1994 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5515495 Ikemoto 715/835 May,1996 |      Your vote accepted [0 after 0 votes] | | 5487143 Southgate 715/790 Jan,1996 |      Your vote accepted [0 after 0 votes] | | 5414806 Richards 715/810 May,1995 |      Your vote accepted [0 after 0 votes] | | 5412776 Bloomfield 715/783 May,1995 |      Your vote accepted [0 after 0 votes] | | 5398310 Tchao 715/541 Mar,1995 |      Your vote accepted [0 after 0 votes] | | 5371847 Hargrove 715/788 Dec,1994 |      Your vote accepted [0 after 0 votes] | | 5367624 Cooper 715/734 Nov,1994 |      Your vote accepted [0 after 0 votes] | | 5305435 Bronson 715/777 Apr,1994 |      Your vote accepted [0 after 0 votes] | | 5293326 Arima 702/39 Mar,1994 |      Your vote accepted [0 after 0 votes] | | 5146556 Hullot 715/790 Sep,1992 |      Your vote accepted [0 after 0 votes] | | 5093907 Hwong 345/473 Mar,1992 |      Your vote accepted [0 after 0 votes] | | 5060170 Bourgeois 715/788 Oct,1991 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. A method for arranging re-sizeable graphical user interface (GUI) boxes on a GUI having at least one dock, the size of the re-sizeable GUI boxes being alterable by means of
re-sizing zones associated with edges of the re-sizeable GUI boxes, said method comprising the steps of:
selecting a first docking region on the at least one dock to receive a first GUI box;
determining an interval on one dimension of the first docking region for displaying the first GUI box on the GUI; and
re-sizing a re-sizeable GUI box associated with the at least one dock without manipulation by a user of a re-sizing zone associated with the re-sizeable GUI box in order to display the first GUI box within the interval.
2. The method of claim 1 wherein the re-sizing a re-sizeable GUI box step comprises modifying an along dimension of the re-sizeable GUI box.
3. The method of claim 1 wherein the re-sizing a re-sizeable GUI box step comprises modifying an across dimension of the re-sizeable GUI box.
4. The method of claim 1 wherein the re-sizeable GUI box associated with the at least one dock is the first GUI box.
5. The method of claim 1 wherein the re-sizeable GUI box associated with the at least one dock is a second GUI box associated with the at least one dock.
6. The method of claim 5 wherein the first and second GUI boxes occupy a first dock row, the method further comprising the steps of:
selecting a minor splitter detection region disposed in a first location on the first dock row;
re-positioning the minor splitter detection region to a second location on the first dock row in accordance with a user initiated command;
determining a new along dimension for the second GUI box and a new set of boundaries for the first and second GUI boxes in accordance with the re-positioning of the minor splitter detection region to the second location.
7. The method of claim 6 wherein a third GUI box is disposed on the first dock row, further comprising the step of:
determining a new along dimension and set of boundaries for the third GUI box in accordance with the re-positioning of the minor splitter detection region to the second location.
8. The method of claim 7 wherein the first GUI box has a re-sizeable along dimension and a minimum along dimension, the third GUI box is disposed next to the first GUI box, and the third GUI box is not disposed next to the second GUI box,
further comprising the step of reducing the along dimension of the first GUI box to the minimum along dimension in accordance with the re-positioning of the minor splitter detection region to the second location.
9. The method of claim 7 wherein the first GUI box has a fixed along dimension, the third GUI box is disposed next to the first GUI box, and the third GUI box is not disposed next to the second GUI box, further comprising the steps of moving the
borders of the first GUI box and maintaining a same set of dimensions for the first GUI box in accordance with the re-positioning of the minor splitter detection region to the second location.
10. The method of claim 5 further comprising the steps of:
selecting a major splitter detection region disposed in a first location;
re-positioning the major splitter detection region to a second location in accordance with a user initiated command; and
determining a new across dimension for the second GUI box and a new set of absolute GUI boundaries for the first GUI box and the second GUI box in accordance with the re-positioning of the major splitter detection region to the second location.
11. The method of claim 1 wherein the first GUI box includes a first display mode for displaying the first GUI box on the graphical user interface when the first GUI box is not associated with a docking region, and a second display mode for
displaying the first GUI box when the first GUI box associates with a docking region, and wherein said method further comprises the step of switching from the first display mode to the second display mode when the first GUI box becomes associated with a
docking region.
12. The method of claim 11 wherein both the first display mode and second display mode include a document space.
13. The method of claim 11 wherein the first display mode for the first GUI box includes a title bar and the second display mode for the first GUI box does not include the title bar.
14. The method of claim 11 wherein the first display mode for the first GUI box includes a re-size border and the second display mode for the first GUI box does not include the re-size border.
15. The method of claim 11 wherein the first display mode for the first GUI box includes a close box for closing the process associated with the first GUI box and the second display mode does not include the close box.
16. The method of claim 11 wherein the second display mode for the first GUI box includes a border for moving the first GUI box and the first display mode for the first GUI box does not include the border for moving the first GUI box.
17. The method of claim 1 further comprising the step of re-defining a work area region of a parent GUI box containing the at least one dock to exclude from a maximum work area region of the parent GUI box the portion of the parent GUI box
occupied by GUI boxes associated with the at least one dock.
18. The method of claim 1 wherein the at least one dock comprises a plurality of docks, and wherein the selecting a first docking region step comprises determining a first dock of the plurality of docks to which the first GUI box is to be added.
19. The method of claim 1 wherein the at least one dock includes a first dock comprising a set of rows, and wherein the selecting a first docking region step comprises determining a first row of the set of rows to which the first GUI box is to
be added.
20. The method of claim 19 wherein the first row comprises at least one previously docked GUI box, and further comprising the step of determining a relative order in the row for placing the first GUI box in relation to the at least one
previously docked GUI box.
21. The method of claim 1 wherein the first GUI box includes a dock placement field and wherein the method comprises the further steps of:
transforming the display state of the first GUI box to a hidden state and storing in the dock placement field information identifying a first display region;
receiving a user command signal indicating that the first GUI box is to be transformed back to a displayed state from the hidden state and in response displaying the first GUI box in accordance with the information identifying the first display
region.
22. The method of claim 21 wherein the information identifying the first display region comprises a dock identification.
23. The method of claim 22 wherein the information identifying the first display region further comprises a row identification for a row within the identified dock.
24. The method of claim 23 wherein the information identifying the first display region further comprises a position of the first GUI box within the identified row.
25. The method of claim 21 wherein the information identifying the first display region comprises size information associated with the first GUI box.
26. A method for modifying a set of boundaries associated with a plurality of GUI boxes by executing a single user initiated GUI re-sizing operation, the method comprising the steps of:
selecting a re-sizing detection region disposed in a first location adjacent to a first GUI box and a second GUI box;
re-positioning the re-sizing detection region to a second location in accordance with a user initiated command; and
defining a new set of boundaries for the first GUI box and the second GUI box in accordance with the re-positioning of the re-sizing detection region to the second location.
27. The method of claim 26 wherein the re-sizing detection region is disposed between the first GUI box and the second GUI box in a row, and further comprising the step of determining a new along dimension for the first GUI box in accordance
with the re-positioning of the re-sizing detection region to the second location.
28. The method of claim 26 wherein the re-sizing detection region is disposed along a row including both the first GUI box and the second GUI box, further comprising the step of determining a new across dimension for the first GUI box in
accordance with the re-positioning of the re-sizing detection region to the second location.
29. The method of claim 26 wherein the first GUI box is associated with a first dock disposed on a first boundary of a primary GUI box, the second GUI box is associated with a second dock disposed on a second boundary of the primary GUI box
perpendicular to the first boundary, and the re-sizing detection region is disposed on an edge of the second GUI box parallel to the second boundary of the primary GUI box, said method further comprising the steps of:
determining a new along dimension for the first GUI box in accordance with the repositioning of the re-sizing detection region to the second location.
30. The method of claim 29 further comprising the steps of:
receiving a command re-sizing the dimension of the primary GUI box; and
re-sizing the along dimension of at least a one of the first and second docks while maintaining the across dimension of both the first and second docks.
31. A computer system including a graphical user interface (GUI) having at least one dock facilitating the arranging of re-sizeable GUI boxes, the size of the re-sizeable GUI boxes being alterable by means of re-sizing zones associated with
edges of the re-sizeable GUI boxes when the re-sizable GUI boxes are not associated with the at least one dock, the GUI comprising:
a first docking region on the at least one dock for accepting a first GUI box;
an interval on one dimension of the first docking region for displaying the first GUI box on the GUI; and
means for re-sizing a re-sizeable GUI box associated with the at least one dock without manipulation by a user of a one of the re-sizing zones associated with the re-sizeable GUI box in order to display the first GUI box within the interval.
32. The computer system of claim 31 wherein the means for re-sizing a re-sizeable GUI box comprises means for modifying an along dimension of the re-sizeable GUI box.
33. The computer system of claim 31 wherein the means for re-sizing a re-sizeable GUI box comprises means for modifying an across dimension of the re-sizeable GUI box.
34. The computer system of claim 31 wherein the re-sizeable GUI box associated with the at least one dock is the first GUI box.
35. The computer system of claim 31 wherein the re-sizeable GUI box associated with the at least one dock is a second GUI box associated with the at least one dock.
36. The computer system of claim 35 further comprising:
a minor splitter detection region disposed in a first location on a first dock row containing the first and second GUI boxes;
means for re-positioning the minor splitter detection region to a second location on the first dock row in accordance with a user initiated command;
means for calculating new along dimensions for GUI boxes within the first dock row including:
means for determining a new along dimension for the second GUI box and a new set of boundaries for the first and second GUI boxes in accordance with the re-positioning of the minor splitter detection region to the second location.
37. The computer system of claim 35 further comprising:
a major splitter detection region disposed in a first location;
means for re-positioning the major splitter detection region to a second location in accordance with a user initiated command; and
means for calculating a new across dimension for the second GUI box and a new set of absolute GUI positions for the boundaries of the first GUI box and the second GUI box in accordance with the re-positioning of the major splitter detection
region to the second location.
38. The computer system of claim 31 wherein the first GUI box includes a first display mode for displaying the first GUI box on the graphical user interface when the first GUI box is not associated with a docking region, and a second display
mode for displaying the first GUI box when the first GUI box associates with a docking region, and wherein said computer system further comprises means for switching from the first display mode to the second display mode when the first GUI box becomes
associated with a docking region.
39. The computer system of claim 38 wherein the first display mode for the first GUI box includes a title bar and the second display mode for the first GUI box does not include the title bar.
40. The computer system of claim 38 wherein the first display mode for the first GUI box includes a re-size border and the second display mode for the first GUI box does not include the re-size border.
41. The computer system of claim 38 wherein the second display mode for the first GUI box includes a border for moving the first GUI box and the first display mode for the first GUI box does not include the border for moving the first GUI box.
42. The computer system of claim 31 further comprising means for re-defining a work area region of a parent GUI box containing the at least one dock to exclude from a maximum work area region of the parent GUI box the portion of the parent GUI
box occupied by GUI boxes associated with the at least one dock.
43. The computer system of claim 31 wherein the at least one dock comprises a plurality of docks, and wherein the computer system further comprises means for determining a first dock of the plurality of docks to which the first GUI box is to be
added.
44. The computer system of claim 31 wherein the at least one dock includes a first dock comprising a set of rows, and wherein the computer system further comprises means for determining a first row of the set of rows to which the first GUI box
is to be added.
45. The computer system of claim 31 wherein the first GUI box includes a dock placement field and wherein the computer system further comprises:
means for transforming the display state of the first GUI box to a hidden state and storing in the dock placement field information identifying a first display region;
means for receiving a user command signal indicating that the first GUI box is to be transformed back to a displayed state from the hidden state and in response displaying the first GUI box in accordance with the information identifying the first
display region.
46. The computer system of claim 45 wherein the information identifying the first display region comprises a dock identification.
47. The computer system of claim 46 wherein the information identifying the first display region further comprises a row identification for a row within the identified dock.
48. The computer system of claim 47 wherein the information identifying the first display region further comprises a position of the first GUI box within the identified row.
49. The computer system of claim 31 wherein the information identifying the first display region comprises size information associated with the first GUI box.
50. A computer system for modifying a set of boundaries associated with a plurality of GUI boxes by executing a single user initiated GUI re-sizing operation, the computer system comprising:
means for selecting a re-sizing detection region disposed in a first location adjacent to a first GUI box and a second GUI box;
means for re-positioning the re-sizing detection region to a second location in accordance with a user initiated command; and
means for defining a new set of boundaries for the first GUI box and the second GUI box in accordance with a value corresponding to the re-positioning of the re-sizing detection region to the second location.
51. The computer system of claim 50 wherein the re-sizing detection region is disposed between the first GUI box and the second GUI box in a row, and wherein the computer system further comprises means for determining a new along dimension for
the first GUI box in accordance with a value corresponding to the re-positioning of the re-sizing detection region to the second location.
52. The computer system of claim 50 wherein the re-sizing detection region is disposed along a row including both the first GUI box and the second GUI box, and wherein the computer system further comprises means for determining a new across
dimension for the first GUI box in accordance with a value corresponding to the re-positioning of the re-sizing detection region to the second location.
53. The computer system of claim 50 wherein the first GUI box is associated with a first dock disposed on a first boundary of a primary GUI box, the second GUI box is associated with a second dock disposed on a second boundary of the primary GUI
box perpendicular to the first boundary, and the re-sizing detection region is disposed on an edge of the second GUI box parallel to the second boundary of the primary GUI box, said computer system further comprising means for determining a new along
dimension for the first GUI box in accordance with a value corresponding to the repositioning of the re-sizing detection region to the second location.
54. The computer system of claim 53 further comprising the steps of:
means for receiving a command re-sizing the dimension of the primary GUI box; and
means for re-sizing the along dimension of at least a one of the first and second docks while maintaining the across dimension of both the first and second docks.
55. A graphical user interface (GUI) box dock, associated with a primary GUI box, for facilitating sizing and placement of a plurality of GUI boxes within the primary GUI box by executing a single user interface re-sizing operation, the GUI box
dock comprising:
a first docking region containing a re-sizeable first GUI box and a second GUI box associated with the dock; and
a first re-sizing detection region disposed adjacent the re-sizeable first GUI box enabling a user to modify a dimension of the re-sizeable first GUI box as well as the absolute GUI positions of boundaries for the re-sizeable first GUI box and
the second GUI box by re-positioning the first re-sizing detection region.
56. The GUI box dock of claim 55 wherein the first re-sizing detection region comprises a major splitter detection region disposed along a row containing both the re-sizeable first GUI box and the second GUI box, said major splitter detection
region facilitating the adjusting of the across dimension of all re-sizeable GUI boxes via a single re-positioning of the major splitter detection region in accordance with a user command.
57. The GUI box dock of claim 55 wherein the first re-sizing detection region comprises a minor splitter detection region disposed between the re-sizeable first GUI box and a second GUI box, said minor splitter detection region adjusting the
along dimension of at least the re-sizeable first GUI box.
58. A method for arranging re-sizeable graphical user interface (GUI) boxes on a GUI having at least one dock, the size of the re-sizeable GUI boxes being alterable by means of re-sizing zones associated with edges of the GUI boxes when the GUI
boxes are not associated with a dock, said method comprising the steps of:
determining an interval on one dimension of a first docking region on a dock for displaying a first GUI box; and
re-sizing a GUI box associated with the at least one dock without manipulation by a user of a one of the re-sizing zones associated with the GUI box in order to display the first GUI box within the interval.
59. A method for arranging graphical user interface (GUI) display elements on a GUI having at least one automatic GUI display element arrangement region, the size of the GUI display elements being alterable by means of re-sizing zones associated
with edges of the GUI display elements when the GUI display elements are not associated with an automatic GUI display element arrangement region, said method comprising the steps of:
determining an interval on one dimension of a first region on an automated GUI display element arrangement region for displaying a first GUI box; and
re-sizing a GUI display element associated with the at least one automatic GUI display element arrangement region without manipulation by a user of a one of the re-sizing zones associated with the GUI display element in order to display the first
GUI display element within the interval.
60. A method for hiding and replacing a GUI box associated with an automatic GUI box arrangement region comprising the steps of:
transforming the display state of the GUI box to a hidden state and storing in a dock placement field information identifying a first display region for the GUI box, the information identifying a first display region including at least a row
identification;
receiving a user command signal indicating that the GUI box is to be transformed back to a displayed state from the hidden state and in response displaying the first GUI box in accordance with the information identifying the first display region.
61. The method of claim 60 wherein the information identifying the first display region comprises a dock identification.
62. The method of claim 60 wherein the information identifying the first display region further comprises a position of the first GUI box within the identified row.
63. The method of claim 60 wherein the information identifying the first display region comprises size information associated with the first GUI box. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
AREA OF THE INVENTION
This invention relates generally to computer display interfaces and more particularly to computer display interfaces capable of simultaneously displaying a plurality of separate, mobile and re-sizeable display regions, referred to herein as
graphical user interface (GUI) boxes. The GUI boxes include, for example, windows which are a well known interface element supported by the "WINDOWS" (TM Microsoft Corporation) operating system.
BACKGROUND OF THE INVENTION
A desirable feature present today in computer session graphical user interfaces is the ability to concurrently display a plurality of GUI boxes associated with computer resources on a computer display interface. (See FIG. 1). Independent
information associated with each GUI box provides directions to the operating system for positioning each GUI box. In addition to being capable of repositioning via known drag and drop operations, the GUI boxes often have the ability to re-size via
re-sizing commands applied to one or more selected borders of a GUI box. In such graphical user interfaces, repositioning and re-sizing of a GUI box is accomplished by, for example, a drag and drop operation on the GUI box or an edge of the GUI box.
The advantages of concurrently displaying the plurality of GUI boxes are readily observed when using such interfaces. For example, a user may switch focus quickly between concurrently displayed GUI boxes. A user may observe changes in other GUI
boxes resulting from actions taken in a first GUI box on the graphical user interface. In yet another situation involving multiple GUI boxes, the status of a process associated with a first GUI box is monitored while work is performed in another GUI
box. The above advantages are provided by applications running under the "WINDOWS" operating system or any other graphical user interface providing simultaneous display of a plurality of GUI boxes.
Significant additional advantages are provided when the above graphical user interfaces enable a user to adjust the position of the GUI boxes on the display screen. For instance, a user may position the most important GUI box in a prominent,
easy to view, location on the display screen. GUI boxes of ancillary importance are relocated to the edges of the screen. As the focus changes with respect to the importance of a particular GUI box, the position of the GUI box is modified by the user
accordingly.
The "WINDOWS" operating system as well as other systems providing graphical user interfaces, maintain a hierarchy of GUI boxes. In such graphical user interfaces, a "child" GUI box is logically (and typically visually) contained within a
"parent" GUI box. In instances where a work area of a parent GUI box occupies less than the entire screen, moving a child graphical user interface box so that its border would lie outside the work area typically causes clipping of the portion of the
child interface box which would lie outside the work area of the parent GUI box.
It is known to display child GUI boxes in a "floating" state. (See FIG. 3B). In the floating state, the child GUI box is not confined by the borders of the work area of a parent GUI box. Instead the portion of the floating GUI box lying
outside the work area of the parent GUI box is displayed (i.e., there is no clipping of the child interface box). While this may be advantageous in certain instances, portions of floating child windows lying outside a corresponding parent window may
cover over portions of other parent windows. The user may therefore need to reposition the floating window in order to enable a user to access resources within the other parent window.
Additional significant advantages are provided when the above mentioned graphical user interfaces enable a user to re-size the dimensions of the GUI boxes displayed upon the screen. When a screen contains a plurality of GUI boxes, the importance
of re-sizing the GUI boxes in order to conserve space on the display screen for display of the other GUI boxes takes on increased importance. GUI boxes having significant blank area may be re-sized by the user in order to eliminate this wasted area from
the graphical user interface. Reducing the size of a GUI box leaves greater room for concurrently displaying the contents of other GUI boxes.
The known graphical user interfaces having the above described capability of repositioning and re-sizing GUI boxes, though providing the above significant advantages, have certain drawbacks which mitigate against a user taking full advantage of
the capability to reposition and re-size the GUI boxes. In particular, arranging more than two display GUI boxes on a screen by repositioning and re-sizing borders is very cumbersome and involves the user performing a large number of drag and drop
operations on the GUI boxes and the re-sizeable perimeters of the GUI boxes. As a result, a user is not likely to take advantage of GUI boxes' re-sizing and repositioning capabilities when more than a couple GUI boxes are involved.
Furthermore, even when a user is willing to go to the extra effort of setting up a relatively complex display screen layout containing several GUI boxes, the time spent laying out the GUI boxes is essentially wasted time in regard to the
completion of the computing task. Minimizing this "wasted" time enhances the desirability and utility of re-sizeable and re-positionable GUI boxes.
Computer interfaces are designed for use by a wide spectrum of potential users having varying degrees of motor skills. Though grabbing and dragging a graphical user interface target such as a re-sizing bar is a relatively easy task for most
users, others may find this task difficult. Even a user having superior motor skills likely prefers to minimize the frequency of performing drag and drop operations in conjunction with laying out a display screen having a plurality of GUI boxes of
various dimensions. Therefore, minimizing the number of drag and drop operations on GUI box re-sizing bars in order to create a desirable interface layout is clearly desirable.
It is aesthetically pleasing and sometimes necessary to present a plurality of GUI boxes in an orderly non-overlapping manner. However, repositioning and re-sizing the GUI boxes to remove overlap between the GUI boxes (which may obscure
important display information) and matching the edges of the GUI boxes is clearly impractical in the known systems which do not provide mechanisms for automatically re-sizing and repositioning the adjacent GUI boxes. Furthermore, adding a new GUI box to
the arranged screen layout, or repositioning or re-sizing one of the GUI boxes requires separate re-sizing and/or repositioning of the other adjacent GUI boxes in order to restore the display screen to an orderly state or at least to one in which
important sections of other GUI boxes are not obscured.
SUMMARY OF THE INVENTION
It is an object of the present invention to enable a user to easily organize a plurality of independently re-positionable and re-sizeable GUI boxes on a graphical user interface.
It is another object of the present invention to enable a user to easily reorganize a plurality of independently re-positionable and re-sizeable GUI boxes on a graphical user interface.
It is yet another object of the present invention to reduce the time and effort expended by a user in arranging independently re-positionable and re-sizeable GUI boxes on a graphical user interface.
It is another related object to reduce the quantity of drag and drop operations needed to organize a set of independently re-positionable and re-sizeable GUI boxes on a graphical user interface.
The above and other objects are achieved by a graphical user interface comprising at least one dock upon which a plurality of re-sizeable GUI boxes are positioned. Re-sizing of the re-sizeable GUI boxes associated with the dock is executed
without manipulation of re-sizing borders of individual GUI boxes in order to display the plurality of re-sizeable GUI boxes in a non-overlapping manner within a prescribed region of the dock. The re-sizing operations on one or more docked GUI boxes is
invoked during the adding of a GUI box to the dock, repositioning a GUI box within the dock, removing a GUI box from the dock, and when one or more GUI boxes are re-sized via re-positioning of re-sizing regions associated with the dock.
A dock row runs parallel to a border of a parent GUI box to which a dock is associated. In accordance with a particular aspect of the present invention the dimension of at least one re-sizeable GUI box in the dock row is re-sized in accordance
with a dimension specified by the dock when a GUI box is added to a row within the dock such that at least one re-sizeable GUI box is associated with the dock row.
In accordance with another aspect of the invention, a dock row may hold a plurality of GUI boxes. The dock row is provided with at least one row re-sizing detection region for re-sizing an across dimension for all re-sizeable GUI boxes within
the dock row via a single drag and drop operation.
In yet another related aspect of the invention, the graphical user interface includes at least one vertically oriented dock and one horizontally oriented dock. The vertically oriented dock is disposed upon one of the sides of a parent GUI box
containing the dock, and the horizontally oriented dock is disposed upon a top or bottom of the parent GUI box. In order to avoid overlap when a first one of the docks is re-sized in the across direction by a user (i.e., in a direction perpendicular to
the border of the parent GUI box with which the re-sized dock is associated), a second one of the docks, orthogonally oriented with respect to the dock re-sized in the across dimension, is re-sized in the along dimension (i.e. in a direction parallel to
the border of the parent GUI box with which the re-sized second dock is associated) without direct manipulation of a re-sizing border on the second dock.
Another aspect of the present invention is the ability to re-size an along dimension of a plurality of re-sizeable GUI boxes in a row by means of a single drag and drop operation on a GUI box re-sizing detection region, such as a bar, disposed
between two re-sizeable GUI boxes in the row. The moving of the re-sizing target to a new position in the row causes the expansion of a first GUI box on one side of the re-sizing target and the contraction of a second GUI box on the other side of the
re-sizing target.
In accordance with yet another aspect of the present invention, a dockable, re-sizeable GUI box is transformed to a hidden state in accordance with a user command. During transformation to the hidden state, the previous display state of the GUI
box is saved. If the GUI box was docked prior to being hidden, then a row identification, position, and docked GUI box dimensions are saved for the GUI box in association with the transformation of the display state of the GUI box to a hidden state.
When the GUI box is transformed to a displayed state from the hidden state, the GUI box is replaced upon the dock with which it was previously associated. The placement of the GUI box on the dock is governed by the row, position, and dimension
information previously stored when the GUI box was transformed to a hidden state.
BRIEF DESCRIPTION OF THE DRAWINGS
The appended claims set forth the features of the present invention with particularity. The invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the
accompanying drawings of which:
FIG. 1 is an illustrated exemplary interface display for a prior art multiple document interface (MDI) supporting the concurrent display of a plurality of windows;
FIG. 2 is an illustrated exemplary prior art interface display showing a shortcoming of a prior art MDI;
FIG. 3A is an illustrative example of a graphical user interface for a "WINDOWS" (TM) based application incorporating the present invention;
FIG. 3B is another illustrative example of a graphical user interface for a "WINDOWS" (TM) based application incorporating the present invention wherein a window is shown in the floating state;
FIG. 4 is yet another illustrative example of a graphical user interface for a "WINDOWS" (TM) based application incorporating the present invention wherein a dock includes multiple row major splitter bars and multiple row minor splitter bars;
FIG. 5 is a schematic illustration of a Dock Manager structure for organizing dock information;
FIG. 6 is a schematic depiction for a Dock Worker element of the type pointed to by one of the list elements in the Dock Worker List of the Dock Manager of FIG. 5;
FIG. 7 is a schematic depiction of the sub-fields of a Dock Placement field in a dock worker structure of FIG. 6;
FIG. 8 is a schematic depiction for a Dock element of the type pointed to by one of the array elements of the Dock Array in the Dock Manager of FIG. 5;
FIG. 9 is a schematic depiction for a Row Record of the type included in the Array of Row Records in the Dock element of FIG. 8;
FIG. 10 is a schematic depiction of an initialization structure associated with each dockable window and providing the information needed to create a dockable window;
FIG. 11 is a schematic depiction of a Docked Window Information record for facilitating the recalculation of the content and appearance characteristics of windows within a modified dock;
FIGS. 12A and 12B together comprise a flowchart summarizing the steps for tracking and executing the repositioning of a selected dockable window;
FIG. 13 is a schematic illustration of a parent application window, its associated docks, and two (of the four) hit rectangles associated with the docks;
FIG. 14 is a flowchart summarizing the steps for dock selection during tracking of the movement of a dockable window;
FIG. 15 is a flowchart summarizing the steps for adding a dockable window to a dock;
FIG. 16 is a flowchart summarizing the steps for repositioning a dockable window within a dock;
FIG. 17 is a flowchart summarizing the steps for removing a docked window from a dock;
FIGS. 18A and 18B together comprise a flowchart summarizing the steps for recalculating the positions of windows and row splitter bars on a row in accordance with supplied information including a specified row and an array of dock window
information including docked window information for the row;
FIG. 19 is a flowchart summarizing the steps for updating the content and appearance of all rows on a dock in a window when the dimensions of the parent application window are altered;
FIG. 20 is a flowchart summarizing the steps for modifying the across dimension of a dock row via a row major splitter bar;
FIG. 21 is a flowchart summarizing the steps for modifying the along dimension of a plurality re-sizeable windows on a dock row via a single relocation of a row minor splitter bar;
FIG. 22 is a flowchart summarizing the steps for recalculating all docks affected by a change to a dock and updating the entire screen in accordance with a user action modifying at least one dock;
FIG. 23 is a flowchart summarizing the steps for automatically adding a window to a graphical user interface display from a hidden state; and
FIG. 24 is a schematic drawing of a computer system incorporating the present invention.
DETAILED DESCRIPTION OF THE DRAWINGS
It is first noted that the term "window" typically refers to a specific type of display interface box associated with the "WINDOWS" (TM Microsoft Corporation) Operating System. However, the invention defined by the claims appended below is
intended to cover more than the graphical user interface entities created by the "WINDOWS" (TM) Operating System. The invention is intended to include a re-positionable graphical user interface entity having a perimeter defining a region of a graphical
user interface allocated to an associated computer resource. Such an entity is referred to in the claims as a graphical user interface (GUI) box. Furthermore, it is noted that the term "GUI box", used to describe the present invention, is intended to
include non-box shaped re-positionable and re-sizeable GUI elements which occupy a defined region on a graphical user interface.
Turning now to FIG. 1, an exemplary display is provided for a prior art multiple document interface (MDI) supporting the concurrent display of a plurality of windows. In this example, a user has positioned in a non-overlapping manner a Registers
window 2 on the right side and a Watch window 4 and Locals window 6 on the bottom of the display interface. A window 8 displaying the contents of a source code file has been sized and positioned to occupy the remaining available space of the parent
window entitled "Microsoft Visual C++[break]--circ332.mak." In order to achieve the illustrated display state of non-overlapping windows, a user must execute a large number of move and re-sizing commands. Furthermore, after achieving the display state
displayed in FIG. 1, re-sizing one of the windows requires separate re-sizing of at least one of the other windows in order to achieve a non-overlapping display state in which the display space is totally utilized by the windows.
FIG. 2 displays a second shortcoming of a prior art MDI. When a new document is opened thus creating a new document window 10, the layout displayed in FIG. 1 which the user has spent considerable effort to achieve is partially obscured by the
new document window 10. In order to restore the Registers window 2, the Watch window 4 | | |