************************************************************************ * PMTREE - Graphical display of PM windows * * * * (C) Copyright IBM Corp. 1992 * * * * Author: Donald Hobern * ************************************************************************ PMTREE is an application for examination of and interaction with the windows of an OS/2 system. It is a 32-bit Presentation Manager application that will run on OS/2 2.0, but not previous versions of OS/2. All activity centres around a graphical display of a window hierarchy shown in the client area of the main window. A window is represented at the top left by a rectangle accompanied by descriptions of various features of the window. Its immediate children are represented by a series of rectangles arranged in a column to the right of this 'head' window. Similarly their children may be represented to the right of their representations, for as many levels as the hierarchy of windows extends. Different window classes are represented in different colours. The user is also able to select any one of the system defined window styles from the menu. Subsequently all windows which have that style flag set will be represented in reverse colours. Extra information is displayed under the head window representation. This comprises the window id, the process and thread ids, the owner window (if there is one), the window position and size, the window style (broken into the constituent flags), the minimise and restore positions and sizes (where applicable), the window procedure address and, for menu windows the item ids contained in the menu (and item texts for the PMTREE process and when the Extensions option has been selected), for frame windows the FF_ flag names and accelerator table handle and table contents, and for listboxes and combo boxes the number of items in a listbox. For convenience the tree may be simplified by displaying only one level of children. Alternatively the user can disable branches of the tree by double clicking the 'manipulation button' of the mouse over the representation of a window. In both cases uncharted branches will be indicated by "+ + +". The user may choose to bring up a dialog to change various values associated with any window (size, position, window text, style, id, parent, owner). These options should be used with care. There are many ways to hang the system and it is not practical to try to detect all such cases and disallow them. The user may also bring up another dialog that allows a large number of different messages to be sent, posted or broadcast to the window. These messages can pass pointers to data including text strings in their parameters. /n, /x and /r are command line parameters that will bring the main window up minimised, maximised and restored respectively. Otherwise PMTREE will reuse the position and size that it occupied when last used. PMTREE can remember settings, window selection and window position across invocations. The application is supplied with help that describes in fuller detail how to use the menu options supplied and how to use PMTREE to interact with the windows of the Presentation Manager system.