{-# LINE 2 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
module Graphics.UI.Gtk.MenuComboToolbar.Menu (
Menu,
MenuClass,
castToMenu, gTypeMenu,
toMenu,
menuNew,
menuReorderChild,
menuPopup,
menuSetAccelGroup,
menuGetAccelGroup,
menuSetAccelPath,
menuSetTitle,
menuGetTitle,
menuPopdown,
menuReposition,
menuGetActive,
menuSetActive,
menuSetTearoffState,
menuGetTearoffState,
menuAttachToWidget,
menuDetach,
menuGetAttachWidget,
menuSetScreen,
menuSetMonitor,
menuAttach,
menuGetForAttachWidget,
menuTearoffState,
menuAccelGroup,
menuActive,
menuTitle,
menuChildLeftAttach,
menuChildRightAttach,
menuChildTopAttach,
menuChildBottomAttach,
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.GList
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 127 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
import Graphics.UI.Gtk.Abstract.ContainerChildProperties
import Graphics.UI.Gtk.Gdk.Events (MouseButton, TimeStamp)
{-# LINE 131 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
menuNew :: IO Menu
=
(ForeignPtr Menu -> Menu, FinalizerPtr Menu)
-> IO (Ptr Menu) -> IO Menu
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Menu -> Menu, FinalizerPtr Menu)
forall {a}. (ForeignPtr Menu -> Menu, FinalizerPtr a)
mkMenu (IO (Ptr Menu) -> IO Menu) -> IO (Ptr Menu) -> IO Menu
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr Menu) -> IO (Ptr Widget) -> IO (Ptr Menu)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr Menu
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr Menu) (IO (Ptr Widget) -> IO (Ptr Menu))
-> IO (Ptr Widget) -> IO (Ptr Menu)
forall a b. (a -> b) -> a -> b
$
IO (Ptr Widget)
gtk_menu_new
{-# LINE 142 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
menuReorderChild :: (MenuClass self, MenuItemClass child) => self
-> child
-> Int
-> IO ()
self
self child
child Int
position =
(\(Menu ForeignPtr Menu
arg1) (Widget ForeignPtr Widget
arg2) CInt
arg3 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Menu -> Ptr Widget -> CInt -> IO ()
gtk_menu_reorder_child Ptr Menu
argPtr1 Ptr Widget
argPtr2 CInt
arg3)
{-# LINE 155 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
position)
menuPopup :: MenuClass self => self
-> Maybe (MouseButton, TimeStamp)
-> IO ()
self
self (Just (MouseButton
b,TimeStamp
t)) =
(\(Menu ForeignPtr Menu
arg1) (Widget ForeignPtr Widget
arg2) (Widget ForeignPtr Widget
arg3) FunPtr
(Ptr Menu -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr () -> IO ())
arg4 Ptr ()
arg5 CUInt
arg6 CUInt
arg7 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg3 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr3 ->Ptr Menu
-> Ptr Widget
-> Ptr Widget
-> FunPtr
(Ptr Menu -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr () -> IO ())
-> Ptr ()
-> CUInt
-> CUInt
-> IO ()
gtk_menu_popup Ptr Menu
argPtr1 Ptr Widget
argPtr2 Ptr Widget
argPtr3 FunPtr
(Ptr Menu -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr () -> IO ())
arg4 Ptr ()
arg5 CUInt
arg6 CUInt
arg7)
{-# LINE 175 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(ForeignPtr Widget -> Widget
Widget ForeignPtr Widget
forall a. ForeignPtr a
nullForeignPtr)
(ForeignPtr Widget -> Widget
Widget ForeignPtr Widget
forall a. ForeignPtr a
nullForeignPtr)
FunPtr
(Ptr Menu -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr () -> IO ())
forall a. FunPtr a
nullFunPtr
Ptr ()
forall a. Ptr a
nullPtr
((Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (MouseButton -> Int) -> MouseButton -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. MouseButton -> Int
forall a. Enum a => a -> Int
fromEnum) MouseButton
b)
(TimeStamp -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral TimeStamp
t)
menuPopup self
self Maybe (MouseButton, TimeStamp)
Nothing = do
CUInt
t <- IO CUInt
gtk_get_current_event_time
{-# LINE 184 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(\(Menu arg1) (Widget arg2) (Widget arg3) arg4 arg5 arg6 arg7 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->gtk_menu_popup argPtr1 argPtr2 argPtr3 arg4 arg5 arg6 arg7)
{-# LINE 185 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(Widget nullForeignPtr)
(Widget nullForeignPtr)
nullFunPtr nullPtr 0 t
menuSetAccelGroup :: MenuClass self => self
-> AccelGroup
-> IO ()
self
self AccelGroup
accelGroup =
(\(Menu ForeignPtr Menu
arg1) (AccelGroup ForeignPtr AccelGroup
arg2) -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr AccelGroup -> (Ptr AccelGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr AccelGroup
arg2 ((Ptr AccelGroup -> IO ()) -> IO ())
-> (Ptr AccelGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AccelGroup
argPtr2 ->Ptr Menu -> Ptr AccelGroup -> IO ()
gtk_menu_set_accel_group Ptr Menu
argPtr1 Ptr AccelGroup
argPtr2)
{-# LINE 201 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
AccelGroup
accelGroup
menuGetAccelGroup :: MenuClass self => self
-> IO AccelGroup
self
self =
(ForeignPtr AccelGroup -> AccelGroup, FinalizerPtr AccelGroup)
-> IO (Ptr AccelGroup) -> IO AccelGroup
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr AccelGroup -> AccelGroup, FinalizerPtr AccelGroup)
forall {a}. (ForeignPtr AccelGroup -> AccelGroup, FinalizerPtr a)
mkAccelGroup (IO (Ptr AccelGroup) -> IO AccelGroup)
-> IO (Ptr AccelGroup) -> IO AccelGroup
forall a b. (a -> b) -> a -> b
$
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu
-> (Ptr Menu -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup))
-> (Ptr Menu -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup)
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO (Ptr AccelGroup)
gtk_menu_get_accel_group Ptr Menu
argPtr1)
{-# LINE 212 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuSetAccelPath :: (MenuClass self, GlibString string) => self
-> string
-> IO ()
self
self string
accelPath =
string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
accelPath ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
accelPathPtr ->
(\(Menu ForeignPtr Menu
arg1) CString
arg2 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> CString -> IO ()
gtk_menu_set_accel_path Ptr Menu
argPtr1 CString
arg2)
{-# LINE 240 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
CString
accelPathPtr
menuSetTitle :: (MenuClass self, GlibString string) => self -> string -> IO ()
self
self string
title =
string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
title ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
titlePtr ->
(\(Menu ForeignPtr Menu
arg1) CString
arg2 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> CString -> IO ()
gtk_menu_set_title Ptr Menu
argPtr1 CString
arg2)
{-# LINE 250 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
CString
titlePtr
menuGetTitle :: (MenuClass self, GlibString string) => self
-> IO (Maybe string)
self
self =
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO CString) -> IO CString)
-> (Ptr Menu -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO CString
gtk_menu_get_title Ptr Menu
argPtr1)
{-# LINE 260 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
IO CString -> (CString -> IO (Maybe string)) -> IO (Maybe string)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (CString -> IO string) -> CString -> IO (Maybe string)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString
menuPopdown :: MenuClass self => self -> IO ()
self
self =
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO ()
gtk_menu_popdown Ptr Menu
argPtr1)
{-# LINE 268 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuReposition :: MenuClass self => self -> IO ()
self
self =
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO ()
gtk_menu_reposition Ptr Menu
argPtr1)
{-# LINE 275 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuGetActive :: MenuClass self => self
-> IO MenuItem
self
self =
(ForeignPtr MenuItem -> MenuItem, FinalizerPtr MenuItem)
-> IO (Ptr MenuItem) -> IO MenuItem
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr MenuItem -> MenuItem, FinalizerPtr MenuItem)
forall {a}. (ForeignPtr MenuItem -> MenuItem, FinalizerPtr a)
mkMenuItem (IO (Ptr MenuItem) -> IO MenuItem)
-> IO (Ptr MenuItem) -> IO MenuItem
forall a b. (a -> b) -> a -> b
$
String -> IO (Ptr MenuItem) -> IO (Ptr MenuItem)
forall a. String -> IO (Ptr a) -> IO (Ptr a)
throwIfNull String
"menuGetActive: menu contains no menu items." (IO (Ptr MenuItem) -> IO (Ptr MenuItem))
-> IO (Ptr MenuItem) -> IO (Ptr MenuItem)
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr MenuItem)
-> IO (Ptr Widget) -> IO (Ptr MenuItem)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM Ptr Widget -> Ptr MenuItem
forall a b. Ptr a -> Ptr b
castPtr (IO (Ptr Widget) -> IO (Ptr MenuItem))
-> IO (Ptr Widget) -> IO (Ptr MenuItem)
forall a b. (a -> b) -> a -> b
$
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO (Ptr Widget)
gtk_menu_get_active Ptr Menu
argPtr1)
{-# LINE 289 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuSetActive :: MenuClass self => self
-> Int
-> IO ()
self
self Int
index =
(\(Menu ForeignPtr Menu
arg1) CUInt
arg2 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> CUInt -> IO ()
gtk_menu_set_active Ptr Menu
argPtr1 CUInt
arg2)
{-# LINE 300 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
index)
menuSetTearoffState :: MenuClass self => self
-> Bool
-> IO ()
self
self Bool
tornOff =
(\(Menu ForeignPtr Menu
arg1) CInt
arg2 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> CInt -> IO ()
gtk_menu_set_tearoff_state Ptr Menu
argPtr1 CInt
arg2)
{-# LINE 312 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
tornOff)
menuGetTearoffState :: MenuClass self => self
-> IO Bool
self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO CInt) -> IO CInt)
-> (Ptr Menu -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO CInt
gtk_menu_get_tearoff_state Ptr Menu
argPtr1)
{-# LINE 322 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuAttachToWidget :: (MenuClass self, WidgetClass attachWidget) => self -> attachWidget -> IO ()
self
self attachWidget
attachWidget =
(\(Menu ForeignPtr Menu
arg1) (Widget ForeignPtr Widget
arg2) FunPtr (Ptr Widget -> Ptr Menu -> IO ())
arg3 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Menu
-> Ptr Widget -> FunPtr (Ptr Widget -> Ptr Menu -> IO ()) -> IO ()
gtk_menu_attach_to_widget Ptr Menu
argPtr1 Ptr Widget
argPtr2 FunPtr (Ptr Widget -> Ptr Menu -> IO ())
arg3)
{-# LINE 329 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(attachWidget -> Widget
forall o. WidgetClass o => o -> Widget
toWidget attachWidget
attachWidget)
FunPtr (Ptr Widget -> Ptr Menu -> IO ())
forall a. FunPtr a
nullFunPtr
menuDetach :: MenuClass self => self -> IO ()
self
self =
(\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO ()
gtk_menu_detach Ptr Menu
argPtr1)
{-# LINE 338 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
menuGetAttachWidget :: MenuClass self => self -> IO (Maybe Widget)
self
self = do
Ptr Widget
wPtr <- (\(Menu ForeignPtr Menu
arg1) -> ForeignPtr Menu -> (Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Menu -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> IO (Ptr Widget)
gtk_menu_get_attach_widget Ptr Menu
argPtr1) (self -> Menu
forall o. MenuClass o => o -> Menu
toMenu self
self)
if Ptr Widget
wPtrPtr Widget -> Ptr Widget -> Bool
forall a. Eq a => a -> a -> Bool
==Ptr Widget
forall a. Ptr a
nullPtr then Maybe Widget -> IO (Maybe Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Widget
forall a. Maybe a
Nothing else (Widget -> Maybe Widget) -> IO Widget -> IO (Maybe Widget)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM Widget -> Maybe Widget
forall a. a -> Maybe a
Just (IO Widget -> IO (Maybe Widget)) -> IO Widget -> IO (Maybe Widget)
forall a b. (a -> b) -> a -> b
$
(ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget (Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Widget
wPtr)
menuSetScreen :: MenuClass self => self
-> Maybe Screen
-> IO ()
self
self Maybe Screen
screen =
(\(Menu ForeignPtr Menu
arg1) (Screen ForeignPtr Screen
arg2) -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr Screen -> (Ptr Screen -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Screen
arg2 ((Ptr Screen -> IO ()) -> IO ()) -> (Ptr Screen -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Screen
argPtr2 ->Ptr Menu -> Ptr Screen -> IO ()
gtk_menu_set_screen Ptr Menu
argPtr1 Ptr Screen
argPtr2)
{-# LINE 360 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(Screen -> Maybe Screen -> Screen
forall a. a -> Maybe a -> a
fromMaybe (ForeignPtr Screen -> Screen
Screen ForeignPtr Screen
forall a. ForeignPtr a
nullForeignPtr) Maybe Screen
screen)
menuSetMonitor :: MenuClass self => self
-> Int
-> IO ()
self
self Int
monitorNum =
(\(Menu ForeignPtr Menu
arg1) CInt
arg2 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->Ptr Menu -> CInt -> IO ()
gtk_menu_set_monitor Ptr Menu
argPtr1 CInt
arg2)
{-# LINE 376 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
monitorNum)
menuAttach :: (MenuClass self, MenuItemClass child) => self
-> child
-> Int
-> Int
-> Int
-> Int
-> IO ()
self
self child
child Int
leftAttach Int
rightAttach Int
topAttach Int
bottomAttach =
(\(Menu ForeignPtr Menu
arg1) (Widget ForeignPtr Widget
arg2) CUInt
arg3 CUInt
arg4 CUInt
arg5 CUInt
arg6 -> ForeignPtr Menu -> (Ptr Menu -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Menu
arg1 ((Ptr Menu -> IO ()) -> IO ()) -> (Ptr Menu -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Menu
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Menu -> Ptr Widget -> CUInt -> CUInt -> CUInt -> CUInt -> IO ()
gtk_menu_attach Ptr Menu
argPtr1 Ptr Widget
argPtr2 CUInt
arg3 CUInt
arg4 CUInt
arg5 CUInt
arg6)
{-# LINE 401 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toMenu self)
(child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
leftAttach)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
rightAttach)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
topAttach)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
bottomAttach)
menuGetForAttachWidget :: WidgetClass widget =>
widget
-> IO [Menu]
widget
widget =
(\(Widget ForeignPtr Widget
arg1) -> ForeignPtr Widget -> (Ptr Widget -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg1 ((Ptr Widget -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr Widget -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr1 ->Ptr Widget -> IO (Ptr ())
gtk_menu_get_for_attach_widget Ptr Widget
argPtr1)
{-# LINE 419 "./Graphics/UI/Gtk/MenuComboToolbar/Menu.chs" #-}
(toWidget widget)
IO (Ptr ()) -> (Ptr () -> IO [Ptr Menu]) -> IO [Ptr Menu]
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Ptr () -> IO [Ptr Menu]
forall a. Ptr () -> IO [Ptr a]
fromGList
IO [Ptr Menu] -> ([Ptr Menu] -> IO [Menu]) -> IO [Menu]
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr Menu -> IO Menu) -> [Ptr Menu] -> IO [Menu]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM (\Ptr Menu
elemPtr -> (ForeignPtr Menu -> Menu, FinalizerPtr Menu)
-> IO (Ptr Menu) -> IO Menu
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Menu -> Menu, FinalizerPtr Menu)
forall {a}. (ForeignPtr Menu -> Menu, FinalizerPtr a)
mkMenu (Ptr Menu -> IO (Ptr Menu)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Menu
elemPtr))
menuTitle :: (MenuClass self, GlibString string) => Attr self string
= String -> Attr self string
forall gobj string.
(GObjectClass gobj, GlibString string) =>
String -> Attr gobj string
newAttrFromStringProperty String
"tearoff-title"
menuTearoffState :: MenuClass self => Attr self Bool
= (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. MenuClass self => self -> IO Bool
menuGetTearoffState
self -> Bool -> IO ()
forall self. MenuClass self => self -> Bool -> IO ()
menuSetTearoffState
menuAccelGroup :: MenuClass self => Attr self AccelGroup
= (self -> IO AccelGroup)
-> (self -> AccelGroup -> IO ())
-> ReadWriteAttr self AccelGroup AccelGroup
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO AccelGroup
forall self. MenuClass self => self -> IO AccelGroup
menuGetAccelGroup
self -> AccelGroup -> IO ()
forall self. MenuClass self => self -> AccelGroup -> IO ()
menuSetAccelGroup
menuActive :: MenuClass self => ReadWriteAttr self MenuItem Int
= (self -> IO MenuItem)
-> (self -> Int -> IO ()) -> ReadWriteAttr self MenuItem Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO MenuItem
forall self. MenuClass self => self -> IO MenuItem
menuGetActive
self -> Int -> IO ()
forall self. MenuClass self => self -> Int -> IO ()
menuSetActive
menuChildLeftAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
= String -> child -> Attr self Int
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Int
newAttrFromContainerChildIntProperty String
"left-attach"
menuChildRightAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
= String -> child -> Attr self Int
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Int
newAttrFromContainerChildIntProperty String
"right-attach"
menuChildTopAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
= String -> child -> Attr self Int
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Int
newAttrFromContainerChildIntProperty String
"top-attach"
menuChildBottomAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
= String -> child -> Attr self Int
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Int
newAttrFromContainerChildIntProperty String
"bottom-attach"
foreign import ccall unsafe "gtk_menu_new"
:: (IO (Ptr Widget))
foreign import ccall safe "gtk_menu_reorder_child"
:: ((Ptr Menu) -> ((Ptr Widget) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_menu_popup"
:: ((Ptr Menu) -> ((Ptr Widget) -> ((Ptr Widget) -> ((FunPtr ((Ptr Menu) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (IO ()))))))) -> ((Ptr ()) -> (CUInt -> (CUInt -> (IO ()))))))))
foreign import ccall unsafe "gtk_get_current_event_time"
gtk_get_current_event_time :: (IO CUInt)
foreign import ccall safe "gtk_menu_set_accel_group"
:: ((Ptr Menu) -> ((Ptr AccelGroup) -> (IO ())))
foreign import ccall unsafe "gtk_menu_get_accel_group"
:: ((Ptr Menu) -> (IO (Ptr AccelGroup)))
foreign import ccall safe "gtk_menu_set_accel_path"
:: ((Ptr Menu) -> ((Ptr CChar) -> (IO ())))
foreign import ccall unsafe "gtk_menu_set_title"
:: ((Ptr Menu) -> ((Ptr CChar) -> (IO ())))
foreign import ccall unsafe "gtk_menu_get_title"
:: ((Ptr Menu) -> (IO (Ptr CChar)))
foreign import ccall safe "gtk_menu_popdown"
:: ((Ptr Menu) -> (IO ()))
foreign import ccall safe "gtk_menu_reposition"
:: ((Ptr Menu) -> (IO ()))
foreign import ccall safe "gtk_menu_get_active"
:: ((Ptr Menu) -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_menu_set_active"
:: ((Ptr Menu) -> (CUInt -> (IO ())))
foreign import ccall safe "gtk_menu_set_tearoff_state"
:: ((Ptr Menu) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_menu_get_tearoff_state"
:: ((Ptr Menu) -> (IO CInt))
foreign import ccall safe "gtk_menu_attach_to_widget"
:: ((Ptr Menu) -> ((Ptr Widget) -> ((FunPtr ((Ptr Widget) -> ((Ptr Menu) -> (IO ())))) -> (IO ()))))
foreign import ccall safe "gtk_menu_detach"
:: ((Ptr Menu) -> (IO ()))
foreign import ccall unsafe "gtk_menu_get_attach_widget"
:: ((Ptr Menu) -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_menu_set_screen"
:: ((Ptr Menu) -> ((Ptr Screen) -> (IO ())))
foreign import ccall safe "gtk_menu_set_monitor"
:: ((Ptr Menu) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_menu_attach"
:: ((Ptr Menu) -> ((Ptr Widget) -> (CUInt -> (CUInt -> (CUInt -> (CUInt -> (IO ())))))))
foreign import ccall safe "gtk_menu_get_for_attach_widget"
:: ((Ptr Widget) -> (IO (Ptr ())))