|
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)
--------------------------------------------------------------------
|