1. Field of the Invention
This invention relates to the art of computer applications and, more particularly to a system for automatically managing toolbars for a software application.
2. Description of Background
Conventionally, toolbars are located at upper and lower regions of a computer application. The toolbars include various buttons that, when activated, establish a short cut to various computer application content such as, formatting, editing, drawing and other functions. Typically, multiple toolbars occupy portions or fragments of toolbar rows. As the number of toolbars employed by a user increases, so do toolbar rows. Ultimately, toolbar rows begin to encroach upon an application window portion of the computer application.
Various solutions exist that allow a user to organize toolbars. Users can add and delete buttons from toolbars in order to make efficient use of available space. That is, buttons that are used often are left in the toolbar and buttons that are used less often are deleted from the toolbar. In addition, systems exist that allow a user to manually resize toolbars, or manually move toolbars to different locations in the application. Other systems have an auto- arrange feature that removes “white space” between adjacent toolbars on a toolbar row and left aligns the toolbar on the toolbar row. Despite the existing solutions to toolbar organization, toolbars remain fragmented across multiple toolbars rows, robbing precious space from the application window.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of automatically organizing toolbars on a user interface for a software application. The method includes calculating an amount of free space in the first toolbar row of the user interface, determining a size of a toolbar in a second toolbar row of the user interface, and automatically moving the tool bar from the second tool bar row to the free space in the first tool bar row if the amount of free space in the first toolbar row is greater than the size of the toolbar. Moving the toolbar to the first toolbar row maximizes available free space for an application window of the computer application.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Additional features and advantages are realized through the techniques of exemplary embodiments of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution, which maximizes available space for an application window of a computer application by automatically organizing toolbar distribution within and among one or more toolbar rows in order to minimize an overall footprint of a user interface portion of the computer application.
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the exemplary embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
With initial reference to
Reference will now be made to
If, in block 114, it is determined that the current row is not the only or last row, method 102 then determines whether there is free space available in the current row as indicated in block 118. If no free space is available in the current row, the next or subsequent row is designated as the current row in block 120 and method 102 returns to block 114. If free space is available in the current row as determined in block 118, method 102 scans toolbars present in each subsequent row as shown in block 122. More specifically, a size of each toolbar in all subsequent rows is calculated to determine a best match toolbar for the current row. That is, the size of each toolbar in all subsequent rows is compared to the free space available in the current row. The best match toolbar would be the toolbar(s) that would occupy all or substantially all of the free space in the current row. If a best match toolbar(s) is found, as determined in block 124, the best match toolbar(s) is moved to the current row as indicated in block 126.
Once all, or substantially all, of the free space in the current row is occupied, the next row is designated as the current row as indicated in block 120. Likewise, if no best match toolbar is located for the current row in block 124, the next row is designated as the current row in block 20 and the method returns to block 114. This process continues until all rows are completely or as near to being completely occupied as possible, and the fewest number of toolbar rows are present in the application. In this manner, space for an application window portion of the computer application is maximized.
For example, in computer application 2, after selecting to automatically organize toolbar through, for example, icon 60, method 102 left aligns toolbars 20, 31-33 and 41-43 as shown in
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof. As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.