IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
The present invention relates to a method and computer program for selecting and displaying graphic objects and more particularly to a computer program having a graphical user interface with in-line tree filtering.
2. Description of Background
In the field of data processing, resources are conventionally arranged in hierarchical form. A hierarchical arrangement is a multi-level arrangement in which a resource at a particular level is considered to contain or “own” one or more resources at the next lower level. The owning resource may, in turn, be owned or contained within a resource at the next higher level.
Perhaps the easiest way to understand a hierarchical system is by analogy to a filing system conventionally used to store paper documents.
Most businesses include at least one filing room containing multiple filing cabinets. Each of those filing cabinets has several drawers. Each of those drawers is capable of holding several accordion folders. Each of those accordion folders is capable of holding a number of individual project folders. The filing room, filing cabinets, drawers, accordion folders and individual project folders form a multi-level hierarchy.
Beginning at the lowest level, the individual project folders are contained in or “owned” by the accordion folder in which they are contained. All of the accordion folders in a drawer are considered to be “owned” by that drawer. All of the drawers in a particular filing cabinet are “owned” by that cabinet, etc.
In a data processing environment, the most ubiquitous example of a hierarchical system is the file system used for program or data files in a computer system. A computer system often contains multiple physical or logical storage drives. Each of those storage drives may be logically divided into a number of folders, sometimes referred to as directories. With one exception, every folder at every level in a hierarchical file system may contain only folders or folders plus one or more program or data files. The one exception is that the lowest level of a file system hierarchy contains, by definition, only program or data files.
Another example of a hierarchical data processing system is a distributed system. The highest level in a distributed system is a primary 2 is network or extranet made up of the number of individual networks. Each of the individual networks may, in turn, contain smaller networks such as local area networks or LANs. Individual “end-user” devices such as workstations or printers may be connected directly to the LAN media. Alternatively, the individual “end user” devices may be connected to servers that are, in turn, connected to the LAN media.
In describing a hierarchical system in a data processing environment, it is conventional to refer to the hierarchy as a tree and to each object on the tree as a node. The highest-level object on the tree is referred to as the root node and the lowest-level objects on the tree are referred to as the leaf nodes. Nodes other than the root node are described as being on a branch of the tree. Adjacent nodes on the tree are identified as parent nodes or child nodes depending upon their direct relationship to one another. A parent node is any node containing other lower-level nodes (child nodes). The same node may be both a child node (to a higher level parent node) and a parent node (to lower level nodes).
For anything other than the simplest of systems, the size of a tree can become quite large, making it difficult to find individual nodes. A user interface designer may choose to limit the presentation of tree information to a relatively small area at one edge of a display screen, which makes it even more difficult for the user to find nodes of interest in the tree. A user may have to scroll a tree both vertically and horizontally in an effort to locate a node of interest, a process which can be both cumbersome and frustrating since it can be difficult for the user to find the node to begin with and then to appreciate the logical relationship between a given node and the remainder of the tree, very little of which may be viewed at any given time.
A number of different tree representations have been proposed in an effort to make it easier for users to effectively deal with complex trees. Most of these representations require that an entire display screen be given over to the tree representation scheme, which may take the form of nested representations, quasi-three-dimensional representations or even hyperbolic representations of tree structure. Any tree representations which requires the use of an entire display screen is obviously of no practical value where a decision has already been made to limit the space available for tree representations to a relatively small window at one edge of a working area on the display screen. Where the space to be made available for a tree display is limited, a system user has had relatively few tools available for use in navigating through the tree structure.
One well-known tool for managing trees is the use of expand/collapse toggle controls that may be visually represented by ± buttons or directional-arrow buttons, which are sometimes referred to as “twisties”. Selecting an expand/contract button adjacent a particular parent node causes the tree to expand to include both the parent node and all direct child nodes. Selecting the same button adjacent a parent node in an already expanded display will cause all of the displayed child nodes to disappear, leaving only the original parent node.
There are at least two problems with expand/contract controls that limit their usefulness in navigating through a tree structure. First, the controls have to be selected one parent node at the time and then act to expand the display of only direct child nodes. Second, the controls operate on an all or nothing basis. When an expand control associated with a particular parent node is selected, every direct child node is shown on the display screen even if the system user is only interested in locating one or a few of the direct child nodes.
Efforts have been made to overcome some of the problems associated with by expand/collapse controls using filters to limit the tree display to only nodes meeting the filter criteria. Known filter mechanisms come with their own sets of problems. Commonly, a filter is invoked using a dialog box that overlays part or all of the working area of the display screen. Also, known filters are applied only to the direct children of a particular parent node. Filters also typically require the extra user steps of bringing up a filter dialog, selecting filter criteria, and enabling the filter. These kinds of issues and problems limit the flexibility and usefulness of known filter mechanisms.
Exemplary embodiments include a method for handling leafy branches in a navigational tree including: grouping one or more child nodes into a node group; displaying one or more nodes of a hierarchal system including at least one node group; and displaying a scroll indicator corresponding to the node group, wherein the scroll indicator allows a user to scroll through the node group.
Exemplary embodiments also include a computer program product for handling leafy branches in a navigational tree including: a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for facilitating a method including: grouping one or more child nodes into a node group; displaying one or more nodes of a hierarchal system including at least one node group; and displaying a scroll indicator corresponding to the node group, wherein the scroll indicator allows a user to scroll through the node group.
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 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 allows a user to easily navigate a large hierarchical system, including leaf nodes, in a single window.
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 preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Turning now to the drawings in greater detail, prior art
Referring now to
Turning now to
Turning now to
Another enhancement, as shown in
In exemplary embodiments, it may be difficult for a user to find and stop scrolling on a specific node using a scroll indicator or an elevator and therefore it may be difficult for a user to quickly select a desired node. Accordingly, a search field may be used in conjunction with a scalable navigation tree to allow a user to maintain a high-level view of the navigation tree while displaying the desired node.
As shown in
For example, a user may type the name of a desired node in the search field to search for a specific system. After executing the search, each branch of the tree containing the desired node may be opened, and pruned such that the navigational tree only shows the relevant branches and some context. In exemplary embodiments, the objects immediately before and after the item found may be displayed. Furthermore, not only are the objects around the desired node displayed but also the folder(s) containing the desired node. In exemplary embodiments, the scalable navigation tree 800 may include a reset button 820 which, displays the whole navigational tree again but leaves the item selected and in view.
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.