Home » Archimedes archive » Archimedes World » AW-1995-01-Disc2.adf » Disk2Jan95 » !AWJan95/Goodies/Event/Docs/Windows
!AWJan95/Goodies/Event/Docs/Windows
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1995-01-Disc2.adf » Disk2Jan95 |
Filename: | !AWJan95/Goodies/Event/Docs/Windows |
Read OK: | ✔ |
File size: | 2BDD bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
FNshell_WindowSetSpriteArea() Params => int window handle int address of sprite area <= int window handle -------------------------------------------------------- PROCshell_OpenWindow() Params => int window handle int full flag int front flag Any panes attached to the window with PROCshell_AttachPane will be opened automatically. -------------------------------------------------------- PROCshell_CloseWindow() Params => int window handle Any panes attached to the window with PROCshell_AttachPane will be closed automatically. -------------------------------------------------------- FNshell_MessageWindow() Params => str message text int cancel flag str program name str header <= int result This routine is useful for OK to quit type windows. The returned result is 1 if OK was clicked, 2 if Cancel was selected. Cancel Flag FALSE = don't display a CANCEL icon TRUE = message window has a CANCEL icon Program Name Displayed in the title bar of the message window Header When null then the title bar will read "Message from AppName". When non-null the header is displayed instead -------------------------------------------------------- PROCshell_WindowMoveTo() Params => int window handle to move int x coord to move to int y coord to move to See also PROCshell_WindowMoveToIcon. -------------------------------------------------------- PROCshell_WindowMoveToIcon() Params => int window handle to move int window handle containing icon int icon handle int x offset of moved window from icon int y offset of moved window from icon A problem can occur with this call if RISC OS 2 is in use. As it does not seem possible to discover the scroll offsets of the iconbar the window may nove to the wrong position. Any suggestions would be gratefully received... See also PROCshell_WindowMoveTo. -------------------------------------------------------- PROCshell_WindowCentreOnPointer() Params => int window handle to move This routine attempts to centre the window on the current pointer position. It may fail to do so if the pointer is too close to the edge of the desktop and windows are not allowed to move outside the desktop. This routine is useful in the 'PreOpen' function of a static dialog box. Dynamic dialog boxes are automatically centred on the pointer. See also PROCshell_WindowMoveTo. -------------------------------------------------------- PROCshell_CreateWindow() Params => str window identifier int (ignored on entry) <= int window handle of newly created window -------------------------------------------------------- PROCshell_OpenWindowStatic() Params => int window handle The window will be brought to the top of the stack by this call. The window must have been created with a call to PROCshell_CreateWindowStatic - an error will be generated if this is not the case. Any panes attached to the window with PROCshell_AttachPane will be opened automatically. -------------------------------------------------------- PROCshell_CreateWindowStatic() Params => str window identifier int (ignored on entry) <= int window handle of newly created window -------------------------------------------------------- PROCshell_WindowRetitle() Params => int window handle (may be altered, new value returned) str new title The window handle may be changed by this routine, be sure to use the value returned when referring to the window in the future. It is not necessary to make the window title indirected, but titles longer than 11 characters will be truncated without warning if it is not. Attempting to use a title which is longer than the allocated buffer will again cause truncation. -------------------------------------------------------- PROCshell_WindowResize() Params => int window handle int min x coord of workarea int min y coord of workarea int max x coord of workarea int max y coord of workarea bool open flag -------------------------------------------------------- PROCshell_WindowBringToTop() Params => int window handle to bring to top This routine causes a wimp message to be sent to bring a window to the top. You cannot use this routine on windows owned by your own task, but you can use PROCshell_OpenWindow in this case. It may take several wimp poll events before the window is opened, however, so you cannot assume it is actually open immediately after this call. You can use FNshell_WindowIsOnTop to check the status of the window after this call. -------------------------------------------------------- FNshell_WindowIsOnTop() Params => int window handle <= bool TRUE if window is on top, otherwise FALSE This function can be used to discover if the given window is on top of the stack (i.e. completely uncovered). It is especially useful after a call to PROCshell_WindowBringToTop as it may take several calls to Wimp_Poll before the window is brought to the top. The window may belong to another task. -------------------------------------------------------- FNshell_WindowHasTitleBar() Params => int window handle <= bool TRUE if window has a title bar, otherwise FALSE -------------------------------------------------------- FNshell_WindowGetTitle() Params => int window handle <= str window title (null if no title) -------------------------------------------------------- FNshell_WindowTitleBufferLength() Params => int window handle <= int buffer length (12 if title is not indirected) -------------------------------------------------------- FNshell_WindowIsMoveable() Params => int window handle <= bool TRUE if window is moveable, otherwise FALSE -------------------------------------------------------- FNshell_WindowIsAPane() Params => int window handle <= bool TRUE if window is a pane, otherwise FALSE -------------------------------------------------------- FNshell_WindowIsNotBounded() Params => int window handle <= bool TRUE if window may move outside the screen area, otherwise FALSE -------------------------------------------------------- FNshell_WindowTrapsHotKeys() Params => int window handle <= bool TRUE if window traps hot keys, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasBeenToggled() Params => int window handle <= bool TRUE if window has been toggled to full size, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasInputFocus() Params => int window handle <= bool TRUE if window has the input focus, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasBackIcon() Params => int window handle <= bool TRUE if window has a send to back icon, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasCloseIcon() Params => int window handle <= bool TRUE if window has a close icon, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasToggleIcon() Params => int window handle <= bool TRUE if window has a toggle icon, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasVScrollBar() Params => int window handle <= bool TRUE if window has a vertical scroll bar, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasHScrollBar() Params => int window handle <= bool TRUE if window has a horizontal scroll bar, otherwise FALSE -------------------------------------------------------- FNshell_WindowHasAdjustSizeIcon() Params => int window handle <= bool TRUE if window has an adjust size icon, otherwise FALSE -------------------------------------------------------- FNshell_WindowIsOpen() Params => int window handle <= bool TRUE if window is open, otherwise FALSE -------------------------------------------------------- PROCshell_WindowToggleBackIcon() Params => int window handle <= int updated window handle Adds a 'Back icon' to a window if it doesn't have one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleCloseIcon() Params => int window handle <= int updated window handle Adds a 'Close icon' to a window if it doesn't have one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleTitleBar() Params => int window handle \<= int updated window handle Adds a Title bar to a window if it doesn't one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleToggleIcon() Params => int window handle <= int updated window handle Adds a 'Toggle size icon' to a window if it doesn't one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleVScrollBar() Params => int window handle <= int updated window handle Adds a vertical scroll bar to a window if it doesn't one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleAdjustSizeicon() Params => int window handle <= int updated window handle Adds a 'Adjust size icon' to a window if it doesn't one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- PROCshell_WindowToggleHScrollBar() Params => int window handle <= int updated window handle Adds a horizontal scroll bar to a window if it doesn't one, removes it if it does. Also redisplays window in its new state if it is open. -------------------------------------------------------- FNshell_WindowLoaded() Params => str window name (max 11 characters) <= bool TRUE if template is loaded, otherwise FALSE --------------------------------------------------------
00000000 46 4e 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 53 65 |FNshell_WindowSe| 00000010 74 53 70 72 69 74 65 41 72 65 61 28 29 0a 50 61 |tSpriteArea().Pa| 00000020 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 00000030 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 61 6e 64 | int window hand| 00000040 6c 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 |le. int | 00000050 61 64 64 72 65 73 73 20 6f 66 20 73 70 72 69 74 |address of sprit| 00000060 65 20 61 72 65 61 0a 0a 20 20 20 20 20 20 20 3c |e area.. <| 00000070 3d 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 |=. int w| 00000080 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 2d 2d |indow handle..--| 00000090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000000c0 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 6c |------..PROCshel| 000000d0 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 28 29 0a 50 |l_OpenWindow().P| 000000e0 61 72 61 6d 73 20 3d 3e 20 20 20 20 20 0a 20 20 |arams => . | 000000f0 20 20 20 20 20 20 20 69 6e 74 20 77 69 6e 64 6f | int windo| 00000100 77 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 |w handle. | 00000110 20 20 69 6e 74 20 66 75 6c 6c 20 66 6c 61 67 0a | int full flag.| 00000120 20 20 20 20 20 20 20 20 20 69 6e 74 20 66 72 6f | int fro| 00000130 6e 74 20 66 6c 61 67 0a 0a 41 6e 79 20 70 61 6e |nt flag..Any pan| 00000140 65 73 20 61 74 74 61 63 68 65 64 20 74 6f 20 74 |es attached to t| 00000150 68 65 20 77 69 6e 64 6f 77 20 77 69 74 68 0a 50 |he window with.P| 00000160 52 4f 43 73 68 65 6c 6c 5f 41 74 74 61 63 68 50 |ROCshell_AttachP| 00000170 61 6e 65 20 77 69 6c 6c 20 62 65 20 6f 70 65 6e |ane will be open| 00000180 65 64 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 |ed.automatically| 00000190 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...-------------| 000001a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000001c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f |-----------..PRO| 000001d0 43 73 68 65 6c 6c 5f 43 6c 6f 73 65 57 69 6e 64 |Cshell_CloseWind| 000001e0 6f 77 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 |ow().Params =>. | 000001f0 20 20 20 20 20 20 20 20 69 6e 74 20 77 69 6e 64 | int wind| 00000200 6f 77 20 68 61 6e 64 6c 65 0a 0a 41 6e 79 20 70 |ow handle..Any p| 00000210 61 6e 65 73 20 61 74 74 61 63 68 65 64 20 74 6f |anes attached to| 00000220 20 74 68 65 20 77 69 6e 64 6f 77 20 77 69 74 68 | the window with| 00000230 0a 50 52 4f 43 73 68 65 6c 6c 5f 41 74 74 61 63 |.PROCshell_Attac| 00000240 68 50 61 6e 65 20 77 69 6c 6c 20 62 65 20 63 6c |hPane will be cl| 00000250 6f 73 65 64 0a 61 75 74 6f 6d 61 74 69 63 61 6c |osed.automatical| 00000260 6c 79 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |ly...-----------| 00000270 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000290 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 |-------------..F| 000002a0 4e 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 57 69 |Nshell_MessageWi| 000002b0 6e 64 6f 77 28 29 0a 50 61 72 61 6d 73 20 3d 3e |ndow().Params =>| 000002c0 0a 20 20 20 20 20 20 20 20 20 73 74 72 20 6d 65 |. str me| 000002d0 73 73 61 67 65 20 74 65 78 74 20 20 20 0a 20 20 |ssage text . | 000002e0 20 20 20 20 20 20 20 69 6e 74 20 63 61 6e 63 65 | int cance| 000002f0 6c 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 |l flag. | 00000300 73 74 72 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 |str program name| 00000310 0a 20 20 20 20 20 20 20 20 20 73 74 72 20 68 65 |. str he| 00000320 61 64 65 72 0a 0a 20 20 20 20 20 20 20 3c 3d 0a |ader.. <=.| 00000330 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 65 73 | int res| 00000340 75 6c 74 0a 0a 54 68 69 73 20 72 6f 75 74 69 6e |ult..This routin| 00000350 65 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 |e is useful for | 00000360 4f 4b 20 74 6f 20 71 75 69 74 20 74 79 70 65 0a |OK to quit type.| 00000370 77 69 6e 64 6f 77 73 2e 20 54 68 65 20 72 65 74 |windows. The ret| 00000380 75 72 6e 65 64 20 72 65 73 75 6c 74 20 69 73 20 |urned result is | 00000390 31 20 69 66 20 4f 4b 0a 77 61 73 20 63 6c 69 63 |1 if OK.was clic| 000003a0 6b 65 64 2c 20 32 20 69 66 20 43 61 6e 63 65 6c |ked, 2 if Cancel| 000003b0 20 77 61 73 20 73 65 6c 65 63 74 65 64 2e 0a 0a | was selected...| 000003c0 43 61 6e 63 65 6c 20 46 6c 61 67 0a 46 41 4c 53 |Cancel Flag.FALS| 000003d0 45 20 3d 20 64 6f 6e 27 74 20 64 69 73 70 6c 61 |E = don't displa| 000003e0 79 20 61 20 43 41 4e 43 45 4c 20 69 63 6f 6e 0a |y a CANCEL icon.| 000003f0 54 52 55 45 20 20 3d 20 6d 65 73 73 61 67 65 20 |TRUE = message | 00000400 77 69 6e 64 6f 77 20 68 61 73 20 61 20 43 41 4e |window has a CAN| 00000410 43 45 4c 20 69 63 6f 6e 0a 0a 50 72 6f 67 72 61 |CEL icon..Progra| 00000420 6d 20 4e 61 6d 65 0a 44 69 73 70 6c 61 79 65 64 |m Name.Displayed| 00000430 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 62 61 | in the title ba| 00000440 72 20 6f 66 20 74 68 65 0a 6d 65 73 73 61 67 65 |r of the.message| 00000450 20 77 69 6e 64 6f 77 0a 0a 48 65 61 64 65 72 0a | window..Header.| 00000460 57 68 65 6e 20 6e 75 6c 6c 20 74 68 65 6e 20 74 |When null then t| 00000470 68 65 20 74 69 74 6c 65 20 62 61 72 20 77 69 6c |he title bar wil| 00000480 6c 20 72 65 61 64 0a 22 4d 65 73 73 61 67 65 20 |l read."Message | 00000490 66 72 6f 6d 20 41 70 70 4e 61 6d 65 22 2e 20 57 |from AppName". W| 000004a0 68 65 6e 20 6e 6f 6e 2d 6e 75 6c 6c 0a 74 68 65 |hen non-null.the| 000004b0 20 68 65 61 64 65 72 20 69 73 20 64 69 73 70 6c | header is displ| 000004c0 61 79 65 64 20 69 6e 73 74 65 61 64 0a 0a 2d 2d |ayed instead..--| 000004d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000500 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 6c |------..PROCshel| 00000510 6c 5f 57 69 6e 64 6f 77 4d 6f 76 65 54 6f 28 29 |l_WindowMoveTo()| 00000520 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 |.Params =>. | 00000530 20 20 20 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 | int window h| 00000540 61 6e 64 6c 65 20 74 6f 20 6d 6f 76 65 0a 20 20 |andle to move. | 00000550 20 20 20 20 20 20 20 69 6e 74 20 78 20 63 6f 6f | int x coo| 00000560 72 64 20 74 6f 20 6d 6f 76 65 20 74 6f 0a 20 20 |rd to move to. | 00000570 20 20 20 20 20 20 20 69 6e 74 20 79 20 63 6f 6f | int y coo| 00000580 72 64 20 74 6f 20 6d 6f 76 65 20 74 6f 0a 0a 53 |rd to move to..S| 00000590 65 65 20 61 6c 73 6f 20 50 52 4f 43 73 68 65 6c |ee also PROCshel| 000005a0 6c 5f 57 69 6e 64 6f 77 4d 6f 76 65 54 6f 49 63 |l_WindowMoveToIc| 000005b0 6f 6e 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |on...-----------| 000005c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000005e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 |-------------..P| 000005f0 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 4d |ROCshell_WindowM| 00000600 6f 76 65 54 6f 49 63 6f 6e 28 29 0a 50 61 72 61 |oveToIcon().Para| 00000610 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 |ms =>. i| 00000620 6e 74 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 |nt window handle| 00000630 20 74 6f 20 6d 6f 76 65 0a 20 20 20 20 20 20 20 | to move. | 00000640 20 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 00000650 64 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 |dle containing i| 00000660 63 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 |con. int| 00000670 20 69 63 6f 6e 20 68 61 6e 64 6c 65 0a 20 20 20 | icon handle. | 00000680 20 20 20 20 20 20 69 6e 74 20 78 20 6f 66 66 73 | int x offs| 00000690 65 74 20 6f 66 20 6d 6f 76 65 64 20 77 69 6e 64 |et of moved wind| 000006a0 6f 77 20 66 72 6f 6d 20 69 63 6f 6e 0a 20 20 20 |ow from icon. | 000006b0 20 20 20 20 20 20 69 6e 74 20 79 20 6f 66 66 73 | int y offs| 000006c0 65 74 20 6f 66 20 6d 6f 76 65 64 20 77 69 6e 64 |et of moved wind| 000006d0 6f 77 20 66 72 6f 6d 20 69 63 6f 6e 0a 0a 41 20 |ow from icon..A | 000006e0 70 72 6f 62 6c 65 6d 20 63 61 6e 20 6f 63 63 75 |problem can occu| 000006f0 72 20 77 69 74 68 20 74 68 69 73 20 63 61 6c 6c |r with this call| 00000700 20 69 66 20 52 49 53 43 20 4f 53 0a 32 20 69 73 | if RISC OS.2 is| 00000710 20 69 6e 20 75 73 65 2e 20 41 73 20 69 74 20 64 | in use. As it d| 00000720 6f 65 73 20 6e 6f 74 20 73 65 65 6d 20 70 6f 73 |oes not seem pos| 00000730 73 69 62 6c 65 20 74 6f 0a 64 69 73 63 6f 76 65 |sible to.discove| 00000740 72 20 74 68 65 20 73 63 72 6f 6c 6c 20 6f 66 66 |r the scroll off| 00000750 73 65 74 73 20 6f 66 20 74 68 65 20 69 63 6f 6e |sets of the icon| 00000760 62 61 72 20 74 68 65 0a 77 69 6e 64 6f 77 20 6d |bar the.window m| 00000770 61 79 20 6e 6f 76 65 20 74 6f 20 74 68 65 20 77 |ay nove to the w| 00000780 72 6f 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 41 |rong position. A| 00000790 6e 79 0a 73 75 67 67 65 73 74 69 6f 6e 73 20 77 |ny.suggestions w| 000007a0 6f 75 6c 64 20 62 65 20 67 72 61 74 65 66 75 6c |ould be grateful| 000007b0 6c 79 20 72 65 63 65 69 76 65 64 2e 2e 2e 0a 0a |ly received.....| 000007c0 53 65 65 20 61 6c 73 6f 20 50 52 4f 43 73 68 65 |See also PROCshe| 000007d0 6c 6c 5f 57 69 6e 64 6f 77 4d 6f 76 65 54 6f 2e |ll_WindowMoveTo.| 000007e0 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..--------------| 000007f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000810 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 |----------..PROC| 00000820 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 43 65 6e 74 |shell_WindowCent| 00000830 72 65 4f 6e 50 6f 69 6e 74 65 72 28 29 0a 50 61 |reOnPointer().Pa| 00000840 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 00000850 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 61 6e 64 | int window hand| 00000860 6c 65 20 74 6f 20 6d 6f 76 65 0a 0a 54 68 69 73 |le to move..This| 00000870 20 72 6f 75 74 69 6e 65 20 61 74 74 65 6d 70 74 | routine attempt| 00000880 73 20 74 6f 20 63 65 6e 74 72 65 20 74 68 65 0a |s to centre the.| 00000890 77 69 6e 64 6f 77 20 6f 6e 20 74 68 65 20 63 75 |window on the cu| 000008a0 72 72 65 6e 74 20 70 6f 69 6e 74 65 72 20 70 6f |rrent pointer po| 000008b0 73 69 74 69 6f 6e 2e 0a 49 74 20 6d 61 79 20 66 |sition..It may f| 000008c0 61 69 6c 20 74 6f 20 64 6f 20 73 6f 20 69 66 20 |ail to do so if | 000008d0 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 0a 74 |the pointer is.t| 000008e0 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 74 68 65 20 |oo close to the | 000008f0 65 64 67 65 20 6f 66 20 74 68 65 20 64 65 73 6b |edge of the desk| 00000900 74 6f 70 0a 61 6e 64 20 77 69 6e 64 6f 77 73 20 |top.and windows | 00000910 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 |are not allowed | 00000920 74 6f 20 6d 6f 76 65 0a 6f 75 74 73 69 64 65 20 |to move.outside | 00000930 74 68 65 20 64 65 73 6b 74 6f 70 2e 0a 0a 54 68 |the desktop...Th| 00000940 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 75 73 |is routine is us| 00000950 65 66 75 6c 20 69 6e 20 74 68 65 20 27 50 72 65 |eful in the 'Pre| 00000960 4f 70 65 6e 27 0a 66 75 6e 63 74 69 6f 6e 20 6f |Open'.function o| 00000970 66 20 61 20 73 74 61 74 69 63 20 64 69 61 6c 6f |f a static dialo| 00000980 67 20 62 6f 78 2e 20 44 79 6e 61 6d 69 63 0a 64 |g box. Dynamic.d| 00000990 69 61 6c 6f 67 20 62 6f 78 65 73 20 61 72 65 20 |ialog boxes are | 000009a0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 65 |automatically ce| 000009b0 6e 74 72 65 64 0a 6f 6e 20 74 68 65 20 70 6f 69 |ntred.on the poi| 000009c0 6e 74 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 |nter...See also | 000009d0 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |PROCshell_Window| 000009e0 4d 6f 76 65 54 6f 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d |MoveTo...-------| 000009f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000a20 2d 0a 0a 50 52 4f 43 73 68 65 6c 6c 5f 43 72 65 |-..PROCshell_Cre| 00000a30 61 74 65 57 69 6e 64 6f 77 28 29 0a 50 61 72 61 |ateWindow().Para| 00000a40 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 73 |ms =>. s| 00000a50 74 72 20 77 69 6e 64 6f 77 20 69 64 65 6e 74 69 |tr window identi| 00000a60 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 69 6e |fier. in| 00000a70 74 20 28 69 67 6e 6f 72 65 64 20 6f 6e 20 65 6e |t (ignored on en| 00000a80 74 72 79 29 0a 0a 20 20 20 20 20 20 20 3c 3d 0a |try).. <=.| 00000a90 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 69 6e | int win| 00000aa0 64 6f 77 20 68 61 6e 64 6c 65 20 6f 66 20 6e 65 |dow handle of ne| 00000ab0 77 6c 79 20 63 72 65 61 74 65 64 20 77 69 6e 64 |wly created wind| 00000ac0 6f 77 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |ow..------------| 00000ad0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 |------------..PR| 00000b00 4f 43 73 68 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 |OCshell_OpenWind| 00000b10 6f 77 53 74 61 74 69 63 28 29 0a 50 61 72 61 6d |owStatic().Param| 00000b20 73 20 3d 3e 20 20 20 20 20 0a 20 20 20 20 20 20 |s => . | 00000b30 20 20 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 61 | int window ha| 00000b40 6e 64 6c 65 0a 0a 54 68 65 20 77 69 6e 64 6f 77 |ndle..The window| 00000b50 20 77 69 6c 6c 20 62 65 20 62 72 6f 75 67 68 74 | will be brought| 00000b60 20 74 6f 20 74 68 65 20 74 6f 70 0a 6f 66 20 74 | to the top.of t| 00000b70 68 65 20 73 74 61 63 6b 20 62 79 20 74 68 69 73 |he stack by this| 00000b80 20 63 61 6c 6c 2e 20 54 68 65 20 77 69 6e 64 6f | call. The windo| 00000b90 77 0a 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e |w.must have been| 00000ba0 20 63 72 65 61 74 65 64 20 77 69 74 68 20 61 20 | created with a | 00000bb0 63 61 6c 6c 20 74 6f 0a 50 52 4f 43 73 68 65 6c |call to.PROCshel| 00000bc0 6c 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 53 74 |l_CreateWindowSt| 00000bd0 61 74 69 63 20 2d 20 61 6e 20 65 72 72 6f 72 0a |atic - an error.| 00000be0 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 |will be generate| 00000bf0 64 20 69 66 20 74 68 69 73 20 69 73 20 6e 6f 74 |d if this is not| 00000c00 20 74 68 65 0a 63 61 73 65 2e 0a 0a 41 6e 79 20 | the.case...Any | 00000c10 70 61 6e 65 73 20 61 74 74 61 63 68 65 64 20 74 |panes attached t| 00000c20 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 77 69 74 |o the window wit| 00000c30 68 0a 50 52 4f 43 73 68 65 6c 6c 5f 41 74 74 61 |h.PROCshell_Atta| 00000c40 63 68 50 61 6e 65 20 77 69 6c 6c 20 62 65 20 6f |chPane will be o| 00000c50 70 65 6e 65 64 0a 61 75 74 6f 6d 61 74 69 63 61 |pened.automatica| 00000c60 6c 6c 79 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |lly...----------| 00000c70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a |--------------..| 00000ca0 50 52 4f 43 73 68 65 6c 6c 5f 43 72 65 61 74 65 |PROCshell_Create| 00000cb0 57 69 6e 64 6f 77 53 74 61 74 69 63 28 29 0a 50 |WindowStatic().P| 00000cc0 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 |arams =>. | 00000cd0 20 20 73 74 72 20 77 69 6e 64 6f 77 20 69 64 65 | str window ide| 00000ce0 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 |ntifier. | 00000cf0 20 69 6e 74 20 28 69 67 6e 6f 72 65 64 20 6f 6e | int (ignored on| 00000d00 20 65 6e 74 72 79 29 0a 0a 20 20 20 20 20 20 20 | entry).. | 00000d10 3c 3d 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 |<=. int | 00000d20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 6f 66 |window handle of| 00000d30 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 77 | newly created w| 00000d40 69 6e 64 6f 77 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d |indow..---------| 00000d50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000d70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a |---------------.| 00000d80 0a 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f |.PROCshell_Windo| 00000d90 77 52 65 74 69 74 6c 65 28 29 0a 50 61 72 61 6d |wRetitle().Param| 00000da0 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 6e |s =>. in| 00000db0 74 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 |t window handle | 00000dc0 28 6d 61 79 20 62 65 20 61 6c 74 65 72 65 64 2c |(may be altered,| 00000dd0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 |. ne| 00000de0 77 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 |w value returned| 00000df0 29 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 |) . | 00000e00 20 20 20 73 74 72 20 6e 65 77 20 74 69 74 6c 65 | str new title| 00000e10 0a 0a 54 68 65 20 77 69 6e 64 6f 77 20 68 61 6e |..The window han| 00000e20 64 6c 65 20 6d 61 79 20 62 65 20 63 68 61 6e 67 |dle may be chang| 00000e30 65 64 20 62 79 20 74 68 69 73 0a 72 6f 75 74 69 |ed by this.routi| 00000e40 6e 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 75 |ne, be sure to u| 00000e50 73 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 |se the value ret| 00000e60 75 72 6e 65 64 0a 77 68 65 6e 20 72 65 66 65 72 |urned.when refer| 00000e70 72 69 6e 67 20 74 6f 20 74 68 65 20 77 69 6e 64 |ring to the wind| 00000e80 6f 77 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 |ow in the future| 00000e90 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 20 6e 65 63 |...It is not nec| 00000ea0 65 73 73 61 72 79 20 74 6f 20 6d 61 6b 65 20 74 |essary to make t| 00000eb0 68 65 20 77 69 6e 64 6f 77 20 74 69 74 6c 65 0a |he window title.| 00000ec0 69 6e 64 69 72 65 63 74 65 64 2c 20 62 75 74 20 |indirected, but | 00000ed0 74 69 74 6c 65 73 20 6c 6f 6e 67 65 72 20 74 68 |titles longer th| 00000ee0 61 6e 20 31 31 20 63 68 61 72 61 63 74 65 72 73 |an 11 characters| 00000ef0 0a 77 69 6c 6c 20 62 65 20 74 72 75 6e 63 61 74 |.will be truncat| 00000f00 65 64 20 77 69 74 68 6f 75 74 20 77 61 72 6e 69 |ed without warni| 00000f10 6e 67 20 69 66 20 69 74 20 69 73 20 6e 6f 74 2e |ng if it is not.| 00000f20 0a 0a 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 |..Attempting to | 00000f30 75 73 65 20 61 20 74 69 74 6c 65 20 77 68 69 63 |use a title whic| 00000f40 68 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e |h is longer than| 00000f50 0a 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 62 |.the allocated b| 00000f60 75 66 66 65 72 20 77 69 6c 6c 20 61 67 61 69 6e |uffer will again| 00000f70 20 63 61 75 73 65 20 74 72 75 6e 63 61 74 69 6f | cause truncatio| 00000f80 6e 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |n...------------| 00000f90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000fb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 |------------..PR| 00000fc0 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 52 65 |OCshell_WindowRe| 00000fd0 73 69 7a 65 28 29 0a 50 61 72 61 6d 73 20 3d 3e |size().Params =>| 00000fe0 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 77 |. int w| 00000ff0 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 20 20 20 |indow handle. | 00001000 20 20 20 20 20 20 69 6e 74 20 20 6d 69 6e 20 78 | int min x| 00001010 20 63 6f 6f 72 64 20 6f 66 20 77 6f 72 6b 61 72 | coord of workar| 00001020 65 61 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 |ea. int | 00001030 20 6d 69 6e 20 79 20 63 6f 6f 72 64 20 6f 66 20 | min y coord of | 00001040 77 6f 72 6b 61 72 65 61 0a 20 20 20 20 20 20 20 |workarea. | 00001050 20 20 69 6e 74 20 20 6d 61 78 20 78 20 63 6f 6f | int max x coo| 00001060 72 64 20 6f 66 20 77 6f 72 6b 61 72 65 61 0a 20 |rd of workarea. | 00001070 20 20 20 20 20 20 20 20 69 6e 74 20 20 6d 61 78 | int max| 00001080 20 79 20 63 6f 6f 72 64 20 6f 66 20 77 6f 72 6b | y coord of work| 00001090 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 62 6f |area. bo| 000010a0 6f 6c 20 6f 70 65 6e 20 66 6c 61 67 0a 0a 2d 2d |ol open flag..--| 000010b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000010e0 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 6c |------..PROCshel| 000010f0 6c 5f 57 69 6e 64 6f 77 42 72 69 6e 67 54 6f 54 |l_WindowBringToT| 00001100 6f 70 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 |op().Params =>. | 00001110 20 20 20 20 20 20 20 20 69 6e 74 20 77 69 6e 64 | int wind| 00001120 6f 77 20 68 61 6e 64 6c 65 20 74 6f 20 62 72 69 |ow handle to bri| 00001130 6e 67 20 74 6f 20 74 6f 70 0a 0a 54 68 69 73 20 |ng to top..This | 00001140 72 6f 75 74 69 6e 65 20 63 61 75 73 65 73 20 61 |routine causes a| 00001150 20 77 69 6d 70 20 6d 65 73 73 61 67 65 20 74 6f | wimp message to| 00001160 20 62 65 20 73 65 6e 74 20 74 6f 0a 62 72 69 6e | be sent to.brin| 00001170 67 20 61 20 77 69 6e 64 6f 77 20 74 6f 20 74 68 |g a window to th| 00001180 65 20 74 6f 70 2e 20 59 6f 75 20 63 61 6e 6e 6f |e top. You canno| 00001190 74 20 75 73 65 20 74 68 69 73 0a 72 6f 75 74 69 |t use this.routi| 000011a0 6e 65 20 6f 6e 20 77 69 6e 64 6f 77 73 20 6f 77 |ne on windows ow| 000011b0 6e 65 64 20 62 79 20 79 6f 75 72 20 6f 77 6e 20 |ned by your own | 000011c0 74 61 73 6b 2c 20 62 75 74 0a 79 6f 75 20 63 61 |task, but.you ca| 000011d0 6e 20 75 73 65 20 50 52 4f 43 73 68 65 6c 6c 5f |n use PROCshell_| 000011e0 4f 70 65 6e 57 69 6e 64 6f 77 20 69 6e 20 74 68 |OpenWindow in th| 000011f0 69 73 20 63 61 73 65 2e 0a 0a 49 74 20 6d 61 79 |is case...It may| 00001200 20 74 61 6b 65 20 73 65 76 65 72 61 6c 20 77 69 | take several wi| 00001210 6d 70 20 70 6f 6c 6c 20 65 76 65 6e 74 73 20 62 |mp poll events b| 00001220 65 66 6f 72 65 20 74 68 65 0a 77 69 6e 64 6f 77 |efore the.window| 00001230 20 69 73 20 6f 70 65 6e 65 64 2c 20 68 6f 77 65 | is opened, howe| 00001240 76 65 72 2c 20 73 6f 20 79 6f 75 20 63 61 6e 6e |ver, so you cann| 00001250 6f 74 20 61 73 73 75 6d 65 0a 69 74 20 69 73 20 |ot assume.it is | 00001260 61 63 74 75 61 6c 6c 79 20 6f 70 65 6e 20 69 6d |actually open im| 00001270 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 |mediately after | 00001280 74 68 69 73 20 63 61 6c 6c 2e 0a 0a 59 6f 75 20 |this call...You | 00001290 63 61 6e 20 75 73 65 20 46 4e 73 68 65 6c 6c 5f |can use FNshell_| 000012a0 57 69 6e 64 6f 77 49 73 4f 6e 54 6f 70 20 74 6f |WindowIsOnTop to| 000012b0 20 63 68 65 63 6b 20 74 68 65 0a 73 74 61 74 75 | check the.statu| 000012c0 73 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 20 |s of the window | 000012d0 61 66 74 65 72 20 74 68 69 73 20 63 61 6c 6c 2e |after this call.| 000012e0 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..--------------| 000012f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001310 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 |----------..FNsh| 00001320 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 4f 6e 54 6f |ell_WindowIsOnTo| 00001330 70 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 |p().Params =>. | 00001340 20 20 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 | int wind| 00001350 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 |ow handle.. | 00001360 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 62 6f | <=. bo| 00001370 6f 6c 20 54 52 55 45 20 69 66 20 77 69 6e 64 6f |ol TRUE if windo| 00001380 77 20 69 73 20 6f 6e 20 74 6f 70 2c 20 6f 74 68 |w is on top, oth| 00001390 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 |erwise. | 000013a0 20 20 20 20 20 46 41 4c 53 45 0a 0a 54 68 69 73 | FALSE..This| 000013b0 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 | function can be| 000013c0 20 75 73 65 64 20 74 6f 20 64 69 73 63 6f 76 65 | used to discove| 000013d0 72 20 69 66 20 74 68 65 20 67 69 76 65 6e 0a 77 |r if the given.w| 000013e0 69 6e 64 6f 77 20 69 73 20 6f 6e 20 74 6f 70 20 |indow is on top | 000013f0 6f 66 20 74 68 65 20 73 74 61 63 6b 20 28 69 2e |of the stack (i.| 00001400 65 2e 20 63 6f 6d 70 6c 65 74 65 6c 79 0a 75 6e |e. completely.un| 00001410 63 6f 76 65 72 65 64 29 2e 20 49 74 20 69 73 20 |covered). It is | 00001420 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 |especially usefu| 00001430 6c 20 61 66 74 65 72 20 61 20 63 61 6c 6c 0a 74 |l after a call.t| 00001440 6f 20 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 |o PROCshell_Wind| 00001450 6f 77 42 72 69 6e 67 54 6f 54 6f 70 20 61 73 20 |owBringToTop as | 00001460 69 74 20 6d 61 79 20 74 61 6b 65 0a 73 65 76 65 |it may take.seve| 00001470 72 61 6c 20 63 61 6c 6c 73 20 74 6f 20 57 69 6d |ral calls to Wim| 00001480 70 5f 50 6f 6c 6c 20 62 65 66 6f 72 65 20 74 68 |p_Poll before th| 00001490 65 20 77 69 6e 64 6f 77 20 69 73 0a 62 72 6f 75 |e window is.brou| 000014a0 67 68 74 20 74 6f 20 74 68 65 20 74 6f 70 2e 20 |ght to the top. | 000014b0 54 68 65 20 77 69 6e 64 6f 77 20 6d 61 79 20 62 |The window may b| 000014c0 65 6c 6f 6e 67 20 74 6f 20 61 6e 6f 74 68 65 72 |elong to another| 000014d0 0a 74 61 73 6b 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d |.task...--------| 000014e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001510 0a 0a 46 4e 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |..FNshell_Window| 00001520 48 61 73 54 69 74 6c 65 42 61 72 28 29 0a 50 61 |HasTitleBar().Pa| 00001530 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 00001540 20 69 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 00001550 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 |dle.. <=. | 00001560 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 54 52 55 | bool TRU| 00001570 45 20 69 66 20 77 69 6e 64 6f 77 20 68 61 73 20 |E if window has | 00001580 61 20 74 69 74 6c 65 20 62 61 72 2c 20 6f 74 68 |a title bar, oth| 00001590 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 |erwise. | 000015a0 20 20 20 20 20 46 41 4c 53 45 0a 0a 2d 2d 2d 2d | FALSE..----| 000015b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000015e0 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f 57 69 |----..FNshell_Wi| 000015f0 6e 64 6f 77 47 65 74 54 69 74 6c 65 28 29 0a 50 |ndowGetTitle().P| 00001600 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 |arams =>. | 00001610 20 20 69 6e 74 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 00001620 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 |dle.. <=. | 00001630 20 20 20 20 20 20 20 20 73 74 72 20 77 69 6e 64 | str wind| 00001640 6f 77 20 74 69 74 6c 65 20 28 6e 75 6c 6c 20 69 |ow title (null i| 00001650 66 20 6e 6f 20 74 69 74 6c 65 29 0a 0a 2d 2d 2d |f no title)..---| 00001660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001690 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f 57 |-----..FNshell_W| 000016a0 69 6e 64 6f 77 54 69 74 6c 65 42 75 66 66 65 72 |indowTitleBuffer| 000016b0 4c 65 6e 67 74 68 28 29 0a 50 61 72 61 6d 73 20 |Length().Params | 000016c0 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 |=>. int | 000016d0 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 |window handle.. | 000016e0 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 | <=. | 000016f0 20 20 69 6e 74 20 62 75 66 66 65 72 20 6c 65 6e | int buffer len| 00001700 67 74 68 20 28 31 32 20 69 66 20 74 69 74 6c 65 |gth (12 if title| 00001710 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 | is not. | 00001720 20 20 20 20 20 69 6e 64 69 72 65 63 74 65 64 29 | indirected)| 00001730 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..--------------| 00001740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 |----------..FNsh| 00001770 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 4d 6f 76 65 |ell_WindowIsMove| 00001780 61 62 6c 65 28 29 0a 50 61 72 61 6d 73 20 3d 3e |able().Params =>| 00001790 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 77 |. int w| 000017a0 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 |indow handle.. | 000017b0 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 | <=. | 000017c0 20 62 6f 6f 6c 20 54 52 55 45 20 69 66 20 77 69 | bool TRUE if wi| 000017d0 6e 64 6f 77 20 69 73 20 6d 6f 76 65 61 62 6c 65 |ndow is moveable| 000017e0 2c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 |, otherwise. | 000017f0 20 20 20 20 20 20 20 20 20 20 46 41 4c 53 45 0a | FALSE.| 00001800 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00001810 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001830 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 |---------..FNshe| 00001840 6c 6c 5f 57 69 6e 64 6f 77 49 73 41 50 61 6e 65 |ll_WindowIsAPane| 00001850 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 |().Params =>. | 00001860 20 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 6f | int windo| 00001870 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 20 |w handle.. | 00001880 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 62 6f 6f | <=. boo| 00001890 6c 20 54 52 55 45 20 69 66 20 77 69 6e 64 6f 77 |l TRUE if window| 000018a0 20 69 73 20 61 20 70 61 6e 65 2c 20 6f 74 68 65 | is a pane, othe| 000018b0 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 |rwise. | 000018c0 20 20 20 20 46 41 4c 53 45 0a 0a 2d 2d 2d 2d 2d | FALSE..-----| 000018d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001900 2d 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f 57 69 6e |---..FNshell_Win| 00001910 64 6f 77 49 73 4e 6f 74 42 6f 75 6e 64 65 64 28 |dowIsNotBounded(| 00001920 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 |).Params =>. | 00001930 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 6f 77 | int window| 00001940 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 20 20 | handle.. | 00001950 3c 3d 0a 20 20 20 20 20 20 20 20 20 62 6f 6f 6c |<=. bool| 00001960 20 54 52 55 45 20 69 66 20 77 69 6e 64 6f 77 20 | TRUE if window | 00001970 6d 61 79 20 6d 6f 76 65 20 6f 75 74 73 69 64 65 |may move outside| 00001980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 |. t| 00001990 68 65 20 73 63 72 65 65 6e 20 61 72 65 61 2c 20 |he screen area, | 000019a0 6f 74 68 65 72 77 69 73 65 20 46 41 4c 53 45 0a |otherwise FALSE.| 000019b0 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 000019c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000019e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 |---------..FNshe| 000019f0 6c 6c 5f 57 69 6e 64 6f 77 54 72 61 70 73 48 6f |ll_WindowTrapsHo| 00001a00 74 4b 65 79 73 28 29 0a 50 61 72 61 6d 73 20 3d |tKeys().Params =| 00001a10 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 |>. int | 00001a20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 |window handle.. | 00001a30 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 | <=. | 00001a40 20 20 62 6f 6f 6c 20 54 52 55 45 20 69 66 20 77 | bool TRUE if w| 00001a50 69 6e 64 6f 77 20 74 72 61 70 73 20 68 6f 74 20 |indow traps hot | 00001a60 6b 65 79 73 2c 0a 20 20 20 20 20 20 20 20 20 20 |keys,. | 00001a70 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 46 41 | otherwise FA| 00001a80 4c 53 45 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |LSE..-----------| 00001a90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001ab0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 |-------------..F| 00001ac0 4e 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 |Nshell_WindowHas| 00001ad0 42 65 65 6e 54 6f 67 67 6c 65 64 28 29 0a 50 61 |BeenToggled().Pa| 00001ae0 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 00001af0 20 69 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 00001b00 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 |dle.. <=. | 00001b10 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 54 52 55 | bool TRU| 00001b20 45 20 69 66 20 77 69 6e 64 6f 77 20 68 61 73 20 |E if window has | 00001b30 62 65 65 6e 20 74 6f 67 67 6c 65 64 20 74 6f 0a |been toggled to.| 00001b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 | fu| 00001b50 6c 6c 20 73 69 7a 65 2c 20 6f 74 68 65 72 77 69 |ll size, otherwi| 00001b60 73 65 20 46 41 4c 53 45 0a 0a 2d 2d 2d 2d 2d 2d |se FALSE..------| 00001b70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001ba0 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f 57 69 6e 64 |--..FNshell_Wind| 00001bb0 6f 77 48 61 73 49 6e 70 75 74 46 6f 63 75 73 28 |owHasInputFocus(| 00001bc0 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 |).Params =>. | 00001bd0 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 6f 77 | int window| 00001be0 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 20 20 | handle.. | 00001bf0 3c 3d 0a 20 20 20 20 20 20 20 20 20 62 6f 6f 6c |<=. bool| 00001c00 20 54 52 55 45 20 69 66 20 77 69 6e 64 6f 77 20 | TRUE if window | 00001c10 68 61 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f |has the input fo| 00001c20 63 75 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 |cus,. | 00001c30 20 20 20 6f 74 68 65 72 77 69 73 65 20 46 41 4c | otherwise FAL| 00001c40 53 45 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |SE..------------| 00001c50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001c70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e |------------..FN| 00001c80 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 42 |shell_WindowHasB| 00001c90 61 63 6b 49 63 6f 6e 28 29 0a 50 61 72 61 6d 73 |ackIcon().Params| 00001ca0 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 | =>. int| 00001cb0 20 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a | window handle.| 00001cc0 0a 20 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 |. <=. | 00001cd0 20 20 20 20 62 6f 6f 6c 20 54 52 55 45 20 69 66 | bool TRUE if| 00001ce0 20 77 69 6e 64 6f 77 20 68 61 73 20 61 20 73 65 | window has a se| 00001cf0 6e 64 20 74 6f 20 62 61 63 6b 20 69 63 6f 6e 2c |nd to back icon,| 00001d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f |. o| 00001d10 74 68 65 72 77 69 73 65 20 46 41 4c 53 45 0a 0a |therwise FALSE..| 00001d20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001d50 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c |--------..FNshel| 00001d60 6c 5f 57 69 6e 64 6f 77 48 61 73 43 6c 6f 73 65 |l_WindowHasClose| 00001d70 49 63 6f 6e 28 29 0a 50 61 72 61 6d 73 20 3d 3e |Icon().Params =>| 00001d80 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 77 |. int w| 00001d90 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 |indow handle.. | 00001da0 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 | <=. | 00001db0 20 62 6f 6f 6c 20 54 52 55 45 20 69 66 20 77 69 | bool TRUE if wi| 00001dc0 6e 64 6f 77 20 68 61 73 20 61 20 63 6c 6f 73 65 |ndow has a close| 00001dd0 20 69 63 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 | icon,. | 00001de0 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 46 | otherwise F| 00001df0 41 4c 53 45 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |ALSE..----------| 00001e00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a |--------------..| 00001e30 46 4e 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 |FNshell_WindowHa| 00001e40 73 54 6f 67 67 6c 65 49 63 6f 6e 28 29 0a 50 61 |sToggleIcon().Pa| 00001e50 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 00001e60 20 69 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 00001e70 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 |dle.. <=. | 00001e80 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 54 52 55 | bool TRU| 00001e90 45 20 69 66 20 77 69 6e 64 6f 77 20 68 61 73 20 |E if window has | 00001ea0 61 20 74 6f 67 67 6c 65 20 69 63 6f 6e 2c 0a 20 |a toggle icon,. | 00001eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 74 68 | oth| 00001ec0 65 72 77 69 73 65 20 46 41 4c 53 45 0a 0a 2d 2d |erwise FALSE..--| 00001ed0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001f00 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f |------..FNshell_| 00001f10 57 69 6e 64 6f 77 48 61 73 56 53 63 72 6f 6c 6c |WindowHasVScroll| 00001f20 42 61 72 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a |Bar().Params =>.| 00001f30 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 77 69 | int wi| 00001f40 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 |ndow handle.. | 00001f50 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 | <=. | 00001f60 62 6f 6f 6c 20 54 52 55 45 20 69 66 20 77 69 6e |bool TRUE if win| 00001f70 64 6f 77 20 68 61 73 20 61 20 76 65 72 74 69 63 |dow has a vertic| 00001f80 61 6c 20 73 63 72 6f 6c 6c 20 62 61 72 2c 0a 20 |al scroll bar,. | 00001f90 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 74 68 | oth| 00001fa0 65 72 77 69 73 65 20 46 41 4c 53 45 0a 0a 2d 2d |erwise FALSE..--| 00001fb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001fe0 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c 6c 5f |------..FNshell_| 00001ff0 57 69 6e 64 6f 77 48 61 73 48 53 63 72 6f 6c 6c |WindowHasHScroll| 00002000 42 61 72 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a |Bar().Params =>.| 00002010 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 77 69 | int wi| 00002020 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 |ndow handle.. | 00002030 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 | <=. | 00002040 62 6f 6f 6c 20 54 52 55 45 20 69 66 20 77 69 6e |bool TRUE if win| 00002050 64 6f 77 20 68 61 73 20 61 20 68 6f 72 69 7a 6f |dow has a horizo| 00002060 6e 74 61 6c 20 73 63 72 6f 6c 6c 20 62 61 72 2c |ntal scroll bar,| 00002070 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f |. o| 00002080 74 68 65 72 77 69 73 65 20 46 41 4c 53 45 0a 0a |therwise FALSE..| 00002090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000020c0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 65 6c |--------..FNshel| 000020d0 6c 5f 57 69 6e 64 6f 77 48 61 73 41 64 6a 75 73 |l_WindowHasAdjus| 000020e0 74 53 69 7a 65 49 63 6f 6e 28 29 0a 50 61 72 61 |tSizeIcon().Para| 000020f0 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 |ms =>. i| 00002100 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c |nt window handl| 00002110 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 20 20 |e.. <=. | 00002120 20 20 20 20 20 20 62 6f 6f 6c 20 54 52 55 45 20 | bool TRUE | 00002130 69 66 20 77 69 6e 64 6f 77 20 68 61 73 20 61 6e |if window has an| 00002140 20 61 64 6a 75 73 74 20 73 69 7a 65 20 69 63 6f | adjust size ico| 00002150 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |n,. | 00002160 20 6f 74 68 65 72 77 69 73 65 20 46 41 4c 53 45 | otherwise FALSE| 00002170 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..--------------| 00002180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000021a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 4e 73 68 |----------..FNsh| 000021b0 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 4f 70 65 6e |ell_WindowIsOpen| 000021c0 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 |().Params =>. | 000021d0 20 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 6f | int windo| 000021e0 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 20 |w handle.. | 000021f0 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 62 6f 6f | <=. boo| 00002200 6c 20 54 52 55 45 20 69 66 20 77 69 6e 64 6f 77 |l TRUE if window| 00002210 20 69 73 20 6f 70 65 6e 2c 20 6f 74 68 65 72 77 | is open, otherw| 00002220 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |ise. | 00002230 20 20 46 41 4c 53 45 0a 0a 2d 2d 2d 2d 2d 2d 2d | FALSE..-------| 00002240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002270 2d 0a 0a 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e |-..PROCshell_Win| 00002280 64 6f 77 54 6f 67 67 6c 65 42 61 63 6b 49 63 6f |dowToggleBackIco| 00002290 6e 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 |n().Params =>. | 000022a0 20 20 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 | int wind| 000022b0 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 |ow handle.. | 000022c0 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 69 6e | <=. in| 000022d0 74 20 75 70 64 61 74 65 64 20 77 69 6e 64 6f 77 |t updated window| 000022e0 20 68 61 6e 64 6c 65 0a 0a 41 64 64 73 20 61 20 | handle..Adds a | 000022f0 27 42 61 63 6b 20 69 63 6f 6e 27 20 74 6f 20 61 |'Back icon' to a| 00002300 20 77 69 6e 64 6f 77 20 69 66 20 69 74 20 64 6f | window if it do| 00002310 65 73 6e 27 74 0a 68 61 76 65 20 6f 6e 65 2c 20 |esn't.have one, | 00002320 72 65 6d 6f 76 65 73 20 69 74 20 69 66 20 69 74 |removes it if it| 00002330 20 64 6f 65 73 2e 20 41 6c 73 6f 20 72 65 64 69 | does. Also redi| 00002340 73 70 6c 61 79 73 0a 77 69 6e 64 6f 77 20 69 6e |splays.window in| 00002350 20 69 74 73 20 6e 65 77 20 73 74 61 74 65 20 69 | its new state i| 00002360 66 20 69 74 20 69 73 20 6f 70 65 6e 2e 0a 0a 2d |f it is open...-| 00002370 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000023a0 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 |-------..PROCshe| 000023b0 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 43 |ll_WindowToggleC| 000023c0 6c 6f 73 65 49 63 6f 6e 28 29 0a 50 61 72 61 6d |loseIcon().Param| 000023d0 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 69 6e |s =>. in| 000023e0 74 20 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 |t window handle| 000023f0 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 |.. <=. | 00002400 20 20 20 20 20 69 6e 74 20 75 70 64 61 74 65 64 | int updated| 00002410 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a | window handle..| 00002420 41 64 64 73 20 61 20 27 43 6c 6f 73 65 20 69 63 |Adds a 'Close ic| 00002430 6f 6e 27 20 74 6f 20 61 20 77 69 6e 64 6f 77 20 |on' to a window | 00002440 69 66 20 69 74 20 64 6f 65 73 6e 27 74 0a 68 61 |if it doesn't.ha| 00002450 76 65 20 6f 6e 65 2c 20 72 65 6d 6f 76 65 73 20 |ve one, removes | 00002460 69 74 20 69 66 20 69 74 20 64 6f 65 73 2e 20 41 |it if it does. A| 00002470 6c 73 6f 20 72 65 64 69 73 70 6c 61 79 73 0a 77 |lso redisplays.w| 00002480 69 6e 64 6f 77 20 69 6e 20 69 74 73 20 6e 65 77 |indow in its new| 00002490 20 73 74 61 74 65 20 69 66 20 69 74 20 69 73 20 | state if it is | 000024a0 6f 70 65 6e 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d |open...---------| 000024b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000024d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a |---------------.| 000024e0 0a 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f |.PROCshell_Windo| 000024f0 77 54 6f 67 67 6c 65 54 69 74 6c 65 42 61 72 28 |wToggleTitleBar(| 00002500 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 |).Params =>. | 00002510 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 6f 77 | int window| 00002520 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 20 20 | handle.. | 00002530 5c 3c 3d 0a 20 20 20 20 20 20 20 20 20 69 6e 74 |\<=. int| 00002540 20 75 70 64 61 74 65 64 20 77 69 6e 64 6f 77 20 | updated window | 00002550 68 61 6e 64 6c 65 0a 0a 41 64 64 73 20 61 20 54 |handle..Adds a T| 00002560 69 74 6c 65 20 62 61 72 20 74 6f 20 61 20 77 69 |itle bar to a wi| 00002570 6e 64 6f 77 20 69 66 20 69 74 20 64 6f 65 73 6e |ndow if it doesn| 00002580 27 74 20 6f 6e 65 2c 0a 72 65 6d 6f 76 65 73 20 |'t one,.removes | 00002590 69 74 20 69 66 20 69 74 20 64 6f 65 73 2e 20 41 |it if it does. A| 000025a0 6c 73 6f 20 72 65 64 69 73 70 6c 61 79 73 20 77 |lso redisplays w| 000025b0 69 6e 64 6f 77 0a 69 6e 20 69 74 73 20 6e 65 77 |indow.in its new| 000025c0 20 73 74 61 74 65 20 69 66 20 69 74 20 69 73 20 | state if it is | 000025d0 6f 70 65 6e 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d |open...---------| 000025e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a |---------------.| 00002610 0a 50 52 4f 43 73 68 65 6c 6c 5f 57 69 6e 64 6f |.PROCshell_Windo| 00002620 77 54 6f 67 67 6c 65 54 6f 67 67 6c 65 49 63 6f |wToggleToggleIco| 00002630 6e 28 29 0a 50 61 72 61 6d 73 20 3d 3e 0a 20 20 |n().Params =>. | 00002640 20 20 20 20 20 20 20 69 6e 74 20 20 77 69 6e 64 | int wind| 00002650 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 20 20 20 20 |ow handle.. | 00002660 20 20 3c 3d 0a 20 20 20 20 20 20 20 20 20 69 6e | <=. in| 00002670 74 20 75 70 64 61 74 65 64 20 77 69 6e 64 6f 77 |t updated window| 00002680 20 68 61 6e 64 6c 65 0a 0a 41 64 64 73 20 61 20 | handle..Adds a | 00002690 27 54 6f 67 67 6c 65 20 73 69 7a 65 20 69 63 6f |'Toggle size ico| 000026a0 6e 27 20 20 74 6f 20 61 20 77 69 6e 64 6f 77 20 |n' to a window | 000026b0 69 66 20 69 74 0a 64 6f 65 73 6e 27 74 20 6f 6e |if it.doesn't on| 000026c0 65 2c 20 72 65 6d 6f 76 65 73 20 69 74 20 69 66 |e, removes it if| 000026d0 20 69 74 20 64 6f 65 73 2e 20 41 6c 73 6f 0a 72 | it does. Also.r| 000026e0 65 64 69 73 70 6c 61 79 73 20 77 69 6e 64 6f 77 |edisplays window| 000026f0 20 69 6e 20 69 74 73 20 6e 65 77 20 73 74 61 74 | in its new stat| 00002700 65 20 69 66 20 69 74 20 69 73 0a 6f 70 65 6e 2e |e if it is.open.| 00002710 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..--------------| 00002720 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 |----------..PROC| 00002750 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 |shell_WindowTogg| 00002760 6c 65 56 53 63 72 6f 6c 6c 42 61 72 28 29 0a 50 |leVScrollBar().P| 00002770 61 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 |arams =>. | 00002780 20 20 69 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 | int window ha| 00002790 6e 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a |ndle.. <=.| 000027a0 20 20 20 20 20 20 20 20 20 69 6e 74 20 75 70 64 | int upd| 000027b0 61 74 65 64 20 77 69 6e 64 6f 77 20 68 61 6e 64 |ated window hand| 000027c0 6c 65 0a 0a 41 64 64 73 20 61 20 76 65 72 74 69 |le..Adds a verti| 000027d0 63 61 6c 20 73 63 72 6f 6c 6c 20 62 61 72 20 74 |cal scroll bar t| 000027e0 6f 20 61 20 77 69 6e 64 6f 77 20 69 66 0a 69 74 |o a window if.it| 000027f0 20 64 6f 65 73 6e 27 74 20 6f 6e 65 2c 20 72 65 | doesn't one, re| 00002800 6d 6f 76 65 73 20 69 74 20 69 66 20 69 74 20 64 |moves it if it d| 00002810 6f 65 73 2e 20 41 6c 73 6f 0a 72 65 64 69 73 70 |oes. Also.redisp| 00002820 6c 61 79 73 20 77 69 6e 64 6f 77 20 69 6e 20 69 |lays window in i| 00002830 74 73 20 6e 65 77 20 73 74 61 74 65 20 69 66 20 |ts new state if | 00002840 69 74 20 69 73 0a 6f 70 65 6e 2e 0a 0a 2d 2d 2d |it is.open...---| 00002850 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002880 2d 2d 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 6c 6c |-----..PROCshell| 00002890 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 41 64 6a |_WindowToggleAdj| 000028a0 75 73 74 53 69 7a 65 69 63 6f 6e 28 29 0a 50 61 |ustSizeicon().Pa| 000028b0 72 61 6d 73 20 3d 3e 0a 20 20 20 20 20 20 20 20 |rams =>. | 000028c0 20 69 6e 74 20 20 77 69 6e 64 6f 77 20 68 61 6e | int window han| 000028d0 64 6c 65 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 |dle.. <=. | 000028e0 20 20 20 20 20 20 20 20 69 6e 74 20 75 70 64 61 | int upda| 000028f0 74 65 64 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c |ted window handl| 00002900 65 0a 0a 41 64 64 73 20 61 20 27 41 64 6a 75 73 |e..Adds a 'Adjus| 00002910 74 20 73 69 7a 65 20 69 63 6f 6e 27 20 74 6f 20 |t size icon' to | 00002920 61 20 77 69 6e 64 6f 77 20 69 66 20 69 74 0a 64 |a window if it.d| 00002930 6f 65 73 6e 27 74 20 6f 6e 65 2c 20 72 65 6d 6f |oesn't one, remo| 00002940 76 65 73 20 69 74 20 69 66 20 69 74 20 64 6f 65 |ves it if it doe| 00002950 73 2e 20 41 6c 73 6f 0a 72 65 64 69 73 70 6c 61 |s. Also.redispla| 00002960 79 73 20 77 69 6e 64 6f 77 20 69 6e 20 69 74 73 |ys window in its| 00002970 20 6e 65 77 20 73 74 61 74 65 20 69 66 20 69 74 | new state if it| 00002980 20 69 73 0a 6f 70 65 6e 2e 0a 0a 2d 2d 2d 2d 2d | is.open...-----| 00002990 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000029c0 2d 2d 2d 0a 0a 50 52 4f 43 73 68 65 6c 6c 5f 57 |---..PROCshell_W| 000029d0 69 6e 64 6f 77 54 6f 67 67 6c 65 48 53 63 72 6f |indowToggleHScro| 000029e0 6c 6c 42 61 72 28 29 0a 50 61 72 61 6d 73 20 3d |llBar().Params =| 000029f0 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 |>. int | 00002a00 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 20 |window handle.. | 00002a10 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 20 20 20 | <=. | 00002a20 20 20 69 6e 74 20 75 70 64 61 74 65 64 20 77 69 | int updated wi| 00002a30 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 0a 41 64 64 |ndow handle..Add| 00002a40 73 20 61 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 73 |s a horizontal s| 00002a50 63 72 6f 6c 6c 20 62 61 72 20 74 6f 20 61 20 77 |croll bar to a w| 00002a60 69 6e 64 6f 77 20 69 66 0a 69 74 20 64 6f 65 73 |indow if.it does| 00002a70 6e 27 74 20 6f 6e 65 2c 20 72 65 6d 6f 76 65 73 |n't one, removes| 00002a80 20 69 74 20 69 66 20 69 74 20 64 6f 65 73 2e 20 | it if it does. | 00002a90 41 6c 73 6f 0a 72 65 64 69 73 70 6c 61 79 73 20 |Also.redisplays | 00002aa0 77 69 6e 64 6f 77 20 69 6e 20 69 74 73 20 6e 65 |window in its ne| 00002ab0 77 20 73 74 61 74 65 20 69 66 20 69 74 20 69 73 |w state if it is| 00002ac0 0a 6f 70 65 6e 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d |.open...--------| 00002ad0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002b00 0a 0a 46 4e 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |..FNshell_Window| 00002b10 4c 6f 61 64 65 64 28 29 0a 50 61 72 61 6d 73 20 |Loaded().Params | 00002b20 3d 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 20 |=>. str | 00002b30 20 77 69 6e 64 6f 77 20 6e 61 6d 65 20 28 6d 61 | window name (ma| 00002b40 78 20 31 31 20 63 68 61 72 61 63 74 65 72 73 29 |x 11 characters)| 00002b50 0a 0a 20 20 20 20 20 20 20 3c 3d 0a 20 20 20 20 |.. <=. | 00002b60 20 20 20 20 20 62 6f 6f 6c 20 54 52 55 45 20 69 | bool TRUE i| 00002b70 66 20 74 65 6d 70 6c 61 74 65 20 69 73 20 6c 6f |f template is lo| 00002b80 61 64 65 64 2c 20 6f 74 68 65 72 77 69 73 65 0a |aded, otherwise.| 00002b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 41 | FA| 00002ba0 4c 53 45 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |LSE..-----------| 00002bb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002bd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |-------------| 00002bdd