definition module menuevent


//	Clean Object I/O library, version 1.2

/*	menuevent defines the DeviceEventFunction for the menu device.
	This function is placed in a separate module because it is platform dependent.
*/


import	deviceevents, devicesystemstate, menuhandle
from	iostate	import :: PSt, :: IOSt
from	osmenu	import :: OSTrackPopUpMenu, :: OSTrackPopUpMenuResult, PopUpTrackedByIndex, PopUpTrackedByItemId


menuEvent		:: !SchedulerEvent !(PSt .l) -> (!Bool,!Maybe DeviceEvent,!SchedulerEvent,!PSt .l)

/*	For pop up menu's an alternative way to determine the DeviceEvent is required:
*/
popUpMenuEvent	:: !OSTrackPopUpMenu !(MenuStateHandle .ps) !*OSToolbox -> (!Maybe DeviceEvent, !MenuStateHandle .ps, !*OSToolbox)

//menuHandlesGetMenuStateHandles :: !(MenuHandles .pst) -> (![MenuStateHandle .pst], !MenuHandles .pst)
// PA: not used
