Often, the most effective way to convey information to a human being is visually. Accordingly, computing systems that interface with a user almost inevitably have a display that which a user might interface with various applications.
Some applications have Single Document Interfaces (SDI) that allow the user to open and work with only one object at a time. A quintessential example of an object that a user might work with is a document. With SDI interfaces, when the user wants to work on a different document, the user would have to close the currently open document and open the document that the user would like to now work on. Alternatively, the user might create a new instance of the same application for each document to be displayed. An example of an application with an SDI interface is MICROSOFT® Notepad.
Multiple Document Interfaces (MDI) allow the user to open and work with multiple documents at the same time. When the user wants to switch from one open document to another document, the user could use some switching mechanism (such as a drop down menu) to pick another open document. Another example of such a switching mechanism is the keyboard shortcut Ctrl+Tab. In response to the switching, the target open document becomes active and the user can work in this document, without having to close the old document. The user could always come back to the old document and continue work from where the user left off since the old document remains open. Examples of applications with an MDI interface are MICROSOFT® EXCELR and MICROSOFT® Word.
One issue with the SDI and MDI models is that with the larger displays that are available more recently, maximizing just one document to the entire screen results in wasted space. The MDI interface often provides additional commands like “tile” and “cascade”, but they lack some types of fine-tuned control to the user about which documents to make visible and which ones to hide. For instance, if one were to use to “tile” control when having many documents open, only a small window would be devoted to each open document. The window may be so small that it is difficult to work with that document in that context of that window.
At least one application, MICROSOFT® VISUAL STUDIO®, has provided a reasonable solution to this issue with the use of splits and tabs. Splits allow the work area to be split into separate windows so long as the split conforms to a set of splitting rules. As an example of a splitting rule, there might be restrictions on about which orientations the splits can be made. For instance, if a vertical split is made, perhaps it is no longer possible to make a horizontal split. Some applications might have more rigid splitting rules, while other applications might be quite liberal on the types of splits permitted. In MICROSOFT® VISUAL STUDIO®, after the display area is split into multiple windows, each window has a tab associated with each open document that is accessible to that window. However, less than all of the complete set of open documents might be available to each window. Nevertheless, the use of splits and tabs gives the user control some control on where to create splits and to some extent what to display inside the splits.
Embodiments described herein relate to the efficient display of an application work area on a display. The application work area includes a splitting mechanism that permits the work area to be divided into multiple windows. Each window is capable of displaying a selected object of the available objects that are open in the application. Each window might include a corresponding distinct object selection mechanism that allows a user to select one of the open objects to display in the corresponding window. In one embodiment, this is permitted regardless of whether that open object is already displayed in another of the windows. As examples, the object selection mechanism may be a selectively viewable open object list such as, for example, a drop down list. Thus, each window that has an object selection mechanism may be used to independently control the object that is viewed in that window.
This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of various embodiments will be rendered by reference to the appended drawings. Understanding that these drawings depict only sample embodiments and are not therefore to be considered to be limiting of the scope of the invention, the embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Embodiments described herein relate to an application work area that includes a splitting mechanism that permits the work area to be divided into multiple windows. Each window might include a corresponding distinct object selection mechanism that allows a user to select an open object to display in the corresponding window. In one embodiment, this is permitted regardless of whether that open object is already displayed in another of the windows. As examples, the object selection mechanism may be a selectively viewable open object list such as, for example, a drop down list. Thus, each window that has an object selection mechanism may be used to independently control the object that is viewed in that window. First, some introductory discussion regarding a computing system in which the principles described herein may be employed will be described with respect to
As illustrated in
In the description that follows, embodiments are described with reference to acts that are performed by one or more computing systems. If such acts are implemented in software, one or more processors of the associated computing system that performs the act direct the operation of the computing system in response to having executed computer-executable instructions. An example of such an operation involves the manipulation of data. The computer-executable instructions (and the manipulated data) may be stored in the memory 104 of the computing system TOO.
Computing system 100 may also contain communication channels 108 that allow the computing system 100 to communicate with other message processors over, for example, network 110. A display 112 may also be provided for displaying an application work interface to the user. Communication channels 108 are examples of communications media. Communications media typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information-delivery media. By way of example, and not limitation, communications media include wired media, such as wired networks and direct-wired connections, and wireless media such as acoustic, radio, infrared, and other wireless media. The term computer-readable media as used herein includes both storage media and communications media.
Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise physical storage and/or memory media such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described herein. Rather, the specific features and acts described herein are disclosed as example forms of implementing the claims.
The application work area 202 includes a splitting mechanism 211 and an object picker mechanism 212. The splitting mechanism 211 is for splitting the application work area into multiple windows. Each window is capable of displaying a selected open object of the available objects that are open in the application. Once again, the type of object for an application will depend on the nature of the application itself For instance if the application is a text editor, the open objects might be text files. If the application is a spreadsheet application, the open objects might be spreadsheet files. If the application is a word processing application, the open objects might be word processing documents. Although these three examples of application have been provided herein, there is no limit to the types of applications that might benefit from the principles described herein. In an application that is capable of displaying multiple types of objects, the objects may be any of those possible types.
As previously mentioned, the splitter 211 allows the application work area to be split into multiple windows.
As previously mentioned, at least some of the windows created using the splitting mechanism have a corresponding distinct object selection mechanism that allows a user to select one of the open objects to display in the corresponding window. Thus, for example, in
In one embodiment, the object selection mechanism for any given window allows any of the open objects to be displayed in the corresponding window regardless of whether that open object is already displayed in another of the plurality of windows. Thus, there might be multiple windows representing multiple views on the same open object. The object selection mechanism for each window may permit more operations that just choosing an open object to view. The object selection mechanism might also permit the user to 1) close the open object displayed in the corresponding window, 2) switch a displayed object from one open object to another open object, and/or 3) open a new object thereby adding to the available open objects.
The object selection mechanism in one embodiment is a selectively viewable open object list that may be configured to sometimes show at least some (and potentially all) of the available open objects. In the specific example that will now be shown with respect to
Each of the windows 401 through 404 includes a corresponding drop down activator 421 through 424 that, when selected, causes a drop down list to appear with all of the open objects listed. For instance, if the user were to select the drop down activator 421, the drop down list 500 of
In there are multiple views on the same object being displayed in different windows as described above, perhaps there would be a separate entry on the object selection mechanism (e.g., the drop down menu of
The principles described herein allow for efficient use of application work area since there are potentially little restrictions on how windows may be divided. Also, the available objects are represented in a selectively viewable object selection list, rather than by using tabs. Accordingly, significant space need not be occupied by the object selection mechanism while the user is viewing the content of the windows. Instead, the object selection mechanism may be expanded only when switching what is being viewed in one of the windows. Furthermore, since all of the open objects may be viewed from any of the windows, there is great flexibility on allowing a user various views on the same object.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.