From: <kr_...@us...> - 2003-08-15 21:25:22
|
Update of /cvsroot/htoolkit/gio/src/Graphics/UI/GIO In directory sc8-pr-cvs1:/tmp/cvs-serv11074/gio/src/Graphics/UI/GIO Modified Files: Menu.hs Log Message: Simplified API for MenuRadioItems Index: Menu.hs =================================================================== RCS file: /cvsroot/htoolkit/gio/src/Graphics/UI/GIO/Menu.hs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Menu.hs 17 Jul 2003 19:30:05 -0000 1.9 --- Menu.hs 15 Aug 2003 21:24:54 -0000 1.10 *************** *** 19,25 **** -- ** Checked menu items , MenuCheck, menucheck, menucheckAt ! -- ** Radio group and radio items ! , MenuRadioGroup, menuRadioGroupAt, menuRadioGroup , MenuRadioItem, menuRadioItemAt, menuRadioItem -- ** Menu separator , MenuLine, menuline, menulineAt --- 19,25 ---- -- ** Checked menu items , MenuCheck, menucheck, menucheckAt ! -- ** Radio items , MenuRadioItem, menuRadioItemAt, menuRadioItem + , setMenuRadioGroup -- ** Menu separator , MenuLine, menuline, menulineAt *************** *** 119,158 **** -------------------------------------------------------------------- ! -- Menu radio groups and radio items -------------------------------------------------------------------- - -- | Menu items are labeled entries in a menu. - newtype MenuRadioGroup = MenuRadioGroup MenuHandle - hradiogroup (MenuRadioGroup h) = h - - -- | Create a menu item and insert it at specified position. - menuRadioGroupAt :: Maybe Int -> [Prop MenuRadioGroup] -> Menu -> IO MenuRadioGroup - menuRadioGroupAt pos props menu - = do mradiogroup <- do hradiogroup <- Lib.insertMenuRadioGroup (hmenu menu) pos - return (MenuRadioGroup hradiogroup) - set mradiogroup props - return mradiogroup - - -- | Create a menu item and appends it to parent menu. - menuRadioGroup :: [Prop MenuRadioGroup] -> Menu -> IO MenuRadioGroup - menuRadioGroup = menuRadioGroupAt Nothing - - instance Positioned MenuRadioGroup where - pos = readAttr "pos" (Lib.getMenuItemPos . hradiogroup) - - instance Deadly MenuRadioGroup where - destroyWidget m = Lib.destroyMenu (hradiogroup m) - destroy = newEvent (Lib.getMenuDestroyHandler . hradiogroup) (Lib.setMenuDestroyHandler . hradiogroup) (Lib.setMenuDestroyDefHandler . hradiogroup) - - instance SingleSelect MenuRadioGroup where - selected = newAttr (Lib.getMenuRadioGroupSelection . hradiogroup) (Lib.setMenuRadioGroupSelection . hradiogroup) ! -- | Menu items are labeled entries in a menu. newtype MenuRadioItem = MenuRadioItem MenuHandle hradioitem (MenuRadioItem h) = h -- | Create a menu item and insert it at specified position. ! menuRadioItemAt :: Maybe Int -> [Prop MenuRadioItem] -> MenuRadioGroup -> IO MenuRadioItem ! menuRadioItemAt pos props group ! = do mradioitem <- do hradioitem <- Lib.insertMenuRadioItem (hradiogroup group) pos return (MenuRadioItem hradioitem) set mradioitem props --- 119,133 ---- -------------------------------------------------------------------- ! -- Menu radio items -------------------------------------------------------------------- ! -- | Radio menu items are labeled entries in a menu. newtype MenuRadioItem = MenuRadioItem MenuHandle hradioitem (MenuRadioItem h) = h -- | Create a menu item and insert it at specified position. ! menuRadioItemAt :: Maybe Int -> [Prop MenuRadioItem] -> Menu -> IO MenuRadioItem ! menuRadioItemAt pos props menu ! = do mradioitem <- do hradioitem <- Lib.insertMenuRadioItem (hmenu menu) pos return (MenuRadioItem hradioitem) set mradioitem props *************** *** 160,164 **** -- | Create a menu item and appends it to parent menu. ! menuRadioItem :: [Prop MenuRadioItem] -> MenuRadioGroup -> IO MenuRadioItem menuRadioItem = menuRadioItemAt Nothing --- 135,139 ---- -- | Create a menu item and appends it to parent menu. ! menuRadioItem :: [Prop MenuRadioItem] -> Menu -> IO MenuRadioItem menuRadioItem = menuRadioItemAt Nothing *************** *** 174,177 **** --- 149,155 ---- instance Positioned MenuRadioItem where pos = readAttr "pos" (Lib.getMenuItemPos . hradioitem) + + instance Checked MenuRadioItem where + checked = newAttr (Lib.getMenuItemChecked . hradioitem) (Lib.setMenuItemChecked . hradioitem) instance Deadly MenuRadioItem where *************** *** 184,187 **** --- 162,168 ---- instance Accelerated MenuRadioItem where accel = newAttr (Lib.getMenuItemAccel . hradioitem) (Lib.setMenuItemAccel . hradioitem) + + setMenuRadioGroup :: [MenuRadioItem] -> IO () + setMenuRadioGroup items = Lib.setMenuRadioGroup (map hradioitem items) -------------------------------------------------------------------- |