X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsamples%2Fsample-menu_demo-handler.adb;h=e7b1bf8a0ac5105c7da51b27028279beb2faeebd;hp=cac7578bfdcb4ae4ca6f1ea57cce588f43b62205;hb=b1f61d9f3aa244512045a6b02e759825d7049d34;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/Ada95/samples/sample-menu_demo-handler.adb b/Ada95/samples/sample-menu_demo-handler.adb index cac7578b..e7b1bf8a 100644 --- a/Ada95/samples/sample-menu_demo-handler.adb +++ b/Ada95/samples/sample-menu_demo-handler.adb @@ -33,14 +33,14 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------ --- Author: Juergen Pfeifer 1996 +-- Author: Juergen Pfeifer 1996 -- Version Control --- $Revision: 1.5 $ --- Binding Version 00.93 +-- $Revision: 1.10 $ +-- Binding Version 01.00 ------------------------------------------------------------------------------ with Sample.Menu_Demo.Aux; -with Sample.Explanation; use Sample.Explanation; with Sample.Manifest; use Sample.Manifest; +with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; package body Sample.Menu_Demo.Handler is @@ -63,9 +63,14 @@ package body Sample.Menu_Demo.Handler is Col : in Column_Position; Title : in String := "") is - Pan : Panel := Aux.Create (M, Title, Lin, Col); - V : Cursor_Visibility := Invisible; + Mask : Event_Mask := No_Events; + Old : Event_Mask; + Pan : Panel := Aux.Create (M, Title, Lin, Col); + V : Cursor_Visibility := Invisible; begin + -- We are only interested in Clicks with the left button + Register_Reportable_Events (Left, All_Clicks, Mask); + Old := Start_Mouse (Mask); Set_Cursor_Visibility (V); loop declare @@ -79,6 +84,9 @@ package body Sample.Menu_Demo.Handler is I : constant Item := Current (M); O : Item_Option_Set; begin + if K = Key_Mouse then + K := SELECT_ITEM; + end if; Get_Options (I, O); if K = SELECT_ITEM and then not O.Selectable then Beep; @@ -92,7 +100,7 @@ package body Sample.Menu_Demo.Handler is end case; end; end loop; - Set_Cursor_Visibility (V); + End_Mouse (Old); Aux.Destroy (M, Pan); end Drive_Me;