WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for docking re-sizeable interface boxes    
United States Patent5819055   
Link to this pagehttp://www.wikipatents.com/5819055.html
Inventor(s)MacLean; Brendan X. (Seattle, WA); Christian; Bradford A. (Redmond, WA)
AbstractA 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5819055
Method and apparatus for docking re-sizeable interface boxes - US Patent 5819055 Drawing
Method and apparatus for docking re-sizeable interface boxes
Inventor     MacLean; Brendan X. (Seattle, WA); Christian; Bradford A. (Redmond, WA)
Owner/Assignee     Microsoft Corporation (Redmond, WA)
Patent assignment
All assignments
Publication Date     October 6, 1998
Application Number     08/354,543
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 13, 1994
US Classification    
Int'l Classification    
Examiner     Breene; John E.
Assistant Examiner    
Attorney/Law Firm     Leydig, Voit & Mayer, Ltd.
Address
Parent Case    
Priority Data    
USPTO Field of Search    
Patent Tags     docking re-sizeable interface boxes
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

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

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5515495
Ikemoto
715/835
May,1996

[0 after 0 votes]
5487143
Southgate
715/790
Jan,1996

[0 after 0 votes]
5414806
Richards
715/810
May,1995

[0 after 0 votes]
5412776
Bloomfield
715/783
May,1995

[0 after 0 votes]
5398310
Tchao
715/541
Mar,1995

[0 after 0 votes]
5371847
Hargrove
715/788
Dec,1994

[0 after 0 votes]
5367624
Cooper
715/734
Nov,1994

[0 after 0 votes]
5305435
Bronson
715/777
Apr,1994

[0 after 0 votes]
5293326
Arima
702/39
Mar,1994

[0 after 0 votes]
5146556
Hullot
715/790
Sep,1992

[0 after 0 votes]
5093907
Hwong
345/473
Mar,1992

[0 after 0 votes]
5060170
Bourgeois
715/788
Oct,1991

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

N/A

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

No, license is not currently available



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

No, license is not currently available



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

No



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

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

No



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

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


What is claimed is:

1. A method for 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.
 Description Submit all comments and votes
 


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