blob: e61707a8d0987458d3c66ffdba34d38bd4d2184e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
implementation module menuwindowmenu
// The definition and implementation of the WindowMenu.
// PA: implementation not required on Windows platform.
from iostate import :: IOSt, :: PSt
import windowhandle
/* openWindowMenu creates the WindowMenu. This menu contains atleast the following elements:
- MenuItem "&Cascade":
Reorder the current list of windows from left-top to right-bottom.
- MenuItem "Tile &Horizontally":
Reorder the current list of windows from top to bottom.
- MenuItem "&Tile Vertically":
Reorder the current list of windows from left to right.
- MenuSeparator
- RadioMenu:
Display all current open windows (hidden and shown). Selection activates and
shows the indicated window.
*/
openWindowMenu :: !(PSt .l) -> PSt .l
openWindowMenu pState = pState
/* addWindowToWindowMenu adds a new item to the RadioMenu of the WindowMenu if present.
The Id argument is the id of the window that should be added, and the Title argument its title.
*/
addWindowToWindowMenu :: !Id !Title !(PSt .l) -> PSt .l
addWindowToWindowMenu windowId windowTitle pState = pState
/* removeWindowFromWindowMenu removes the window entry from the WindowMenu if present.
*/
removeWindowFromWindowMenu :: !Id !(IOSt .l) -> IOSt .l
removeWindowFromWindowMenu wId ioState = ioState
changeWindowInWindowMenu :: !Id !String !(IOSt .l) -> IOSt .l
changeWindowInWindowMenu wId title ioState = ioState
/* validateWindowActivateForWindowMenu takes care that if this interactive process is an MDI process,
and the WindowLSHandle represents a Windows instance that the WindowActivate function of the
WindowLSHandle will select the proper RadioMenuItem of the WindowMenu if present before any other
actions are taken.
*/
validateWindowActivateForWindowMenu` :: !Id !Bool ![WindowAttribute *(.ls,PSt .p)] -> [WindowAttribute *(.ls,PSt .p)]
validateWindowActivateForWindowMenu` wId isMDI atts = atts
/* PA: apparantly this function is not required.
validateWindowActivateForWindowMenu :: !Id !(WindowLSHandle .ls (PSt .l)) !(IOSt .l)
-> (!WindowLSHandle .ls (PSt .l), !IOSt .l)
validateWindowActivateForWindowMenu wId dlsH=:{wlsHandle=dH=:{whAtts,whKind}} ioState = (dlsH,ioState)
*/
|