diff options
Diffstat (limited to 'menuwindowmenu.icl')
-rw-r--r-- | menuwindowmenu.icl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/menuwindowmenu.icl b/menuwindowmenu.icl new file mode 100644 index 0000000..e61707a --- /dev/null +++ b/menuwindowmenu.icl @@ -0,0 +1,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)
+*/
|