(string _object_default_mouse_handler)
(macro db_hide
	(
		(int mode)
		(string menu_action_proc)
		(get_parm 0 mode)
		(get_parm 1 menu_action_proc)
		(int check_mode)
		(get_parm 0 mode)
		(get_parm 1 menu_action_proc)
		(switch mode
			0
			(
				(set_ctrl_state 1 2)
				(set_ctrl_state 3 2)
			)
			1
			(
				(set_ctrl_state 1 2)
				(set_ctrl_state 3 2)
				(set_ctrl_state 0 2)
				(set_ctrl_state 2 2)
			)
			3
			(
				(set_ctrl_state 1 2)
				(set_ctrl_state 3 2)
				(set_ctrl_state 0 2)
			)
			4
			(
				(set_ctrl_state 1 2)
				(set_ctrl_state 3 2)
				(= _object_default_mouse_handler (inq_mouse_action))
			)
		)
		(if (strlen menu_action_proc)
			(set_mouse_action menu_action_proc)
		)
	)
)
(macro _object_action
	(
		(int parm0
			  parm1
			  parm2
			  parm3
		)
		(get_parm 0 parm0)
		(get_parm 1 parm1)
		(get_parm 2 parm2)
		(get_parm 3 parm3)
		(string default_mouse)
		(switch parm0
			19
			(
				(execute_macro (inq_assignment "<Ctrl-O>"))
			)
			4
			NULL 7
			NULL 10
			NULL 13
			NULL 17
			(
				(sprintf default_mouse "%s %d %d %d %d" _object_default_mouse_handler parm0 parm1 parm2 parm3)
				(execute_macro default_mouse)
			)
			NULL
			(
				(return)
			)
		)
	)
)
(macro db_show
	(
		(int mode)
		(get_parm 0 mode)
		(switch mode
			0
			(
				(set_ctrl_state 1 3)
				(set_ctrl_state 3 3)
			)
			1
			(
				(set_ctrl_state 1 3)
				(set_ctrl_state 3 3)
				(set_ctrl_state 0 3)
				(set_ctrl_state 2 3)
			)
			3
			(
				(set_ctrl_state 1 3)
				(set_ctrl_state 3 3)
				(set_ctrl_state 0 3)
			)
			4
			(
				(set_ctrl_state 1 3)
				(set_ctrl_state 3 3)
				(set_mouse_action _object_default_mouse_handler)
			)
		)
	)
)
