{-# LINE 2 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
module Graphics.UI.Gtk.ActionMenuToolbar.UIManager (
UIManager,
UIManagerClass,
castToUIManager, gTypeUIManager,
toUIManager,
UIManagerItemType(..),
MergeId,
uiManagerNew,
uiManagerSetAddTearoffs,
uiManagerGetAddTearoffs,
uiManagerInsertActionGroup,
uiManagerRemoveActionGroup,
uiManagerGetActionGroups,
uiManagerGetAccelGroup,
uiManagerGetWidget,
uiManagerGetToplevels,
uiManagerGetAction,
uiManagerAddUiFromString,
uiManagerAddUiFromFile,
uiManagerNewMergeId,
uiManagerAddUi,
uiManagerRemoveUi,
uiManagerGetUi,
uiManagerEnsureUpdate,
uiManagerAddTearoffs,
uiManagerUi,
addWidget,
actionsChanged,
onAddWidget,
afterAddWidget,
onActionsChanged,
afterActionsChanged,
onConnectProxy,
afterConnectProxy,
onDisconnectProxy,
afterDisconnectProxy,
onPreActivate,
afterPreActivate,
onPostActivate,
afterPostActivate,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Flags (Flags, fromFlags)
import System.Glib.UTFString
import System.Glib.GList
import System.Glib.GError
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 267 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 268 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
{-# LINE 270 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
data UIManagerItemType = UiManagerAuto
|
|
| UiManagerToolbar
| UiManagerPlaceholder
|
|
| UiManagerToolitem
| UiManagerSeparator
| UiManagerAccelerator
|
deriving (Bounded)
instance Enum UIManagerItemType where
fromEnum UiManagerAuto = 0
fromEnum UiManagerMenubar = 1
fromEnum UiManagerMenu = 2
fromEnum UiManagerToolbar = 4
fromEnum UiManagerPlaceholder = 8
fromEnum UiManagerPopup = 16
fromEnum UiManagerMenuitem = 32
fromEnum UiManagerToolitem = 64
fromEnum UiManagerSeparator = 128
fromEnum UiManagerAccelerator = 256
fromEnum UiManagerPopupWithAccels = 512
toEnum :: Int -> UIManagerItemType
toEnum Int
0 = UIManagerItemType
UiManagerAuto
toEnum 1 = UiManagerMenubar
toEnum 2 = UiManagerMenu
toEnum 4 = UiManagerToolbar
toEnum 8 = UiManagerPlaceholder
toEnum 16 = UiManagerPopup
toEnum Int
32 = UIManagerItemType
UiManagerMenuitem
toEnum Int
64 = UIManagerItemType
UiManagerToolitem
toEnum Int
128 = UIManagerItemType
UiManagerSeparator
toEnum Int
256 = UIManagerItemType
UiManagerAccelerator
toEnum Int
512 = UIManagerItemType
UiManagerPopupWithAccels
toEnum Int
unmatched = [Char] -> UIManagerItemType
forall a. HasCallStack => [Char] -> a
error ([Char]
"UIManagerItemType.toEnum: Cannot match " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Int -> [Char]
forall a. Show a => a -> [Char]
show Int
unmatched)
succ UiManagerAuto = UiManagerMenubar
succ UiManagerMenubar = UiManagerMenu
succ UiManagerMenu = UiManagerToolbar
succ UiManagerToolbar = UiManagerPlaceholder
succ UiManagerPlaceholder = UiManagerPopup
succ UiManagerPopup = UiManagerMenuitem
succ UiManagerMenuitem = UiManagerToolitem
succ UiManagerToolitem = UiManagerSeparator
succ UiManagerSeparator = UiManagerAccelerator
succ UiManagerAccelerator = UiManagerPopupWithAccels
succ _ = undefined
pred UiManagerMenubar = UiManagerAuto
pred UiManagerMenu = UiManagerMenubar
pred UiManagerToolbar = UiManagerMenu
pred UiManagerPlaceholder = UiManagerToolbar
pred UiManagerPopup = UiManagerPlaceholder
pred UiManagerMenuitem = UiManagerPopup
pred UiManagerToolitem = UiManagerMenuitem
pred UiManagerSeparator = UiManagerToolitem
pred UiManagerAccelerator = UiManagerSeparator
pred UiManagerPopupWithAccels = UiManagerAccelerator
pred _ = undefined
enumFromTo x y | fromEnum x == fromEnum y = [ y ]
| otherwise = x : enumFromTo (succ x) y
enumFrom x = enumFromTo x UiManagerPopupWithAccels
enumFromThen _ _ = error "Enum UIManagerItemType: enumFromThen not implemented"
enumFromThenTo :: UIManagerItemType
-> UIManagerItemType -> UIManagerItemType -> [UIManagerItemType]
enumFromThenTo UIManagerItemType
_ UIManagerItemType
_ UIManagerItemType
_ = [Char] -> [UIManagerItemType]
forall a. HasCallStack => [Char] -> a
error [Char]
"Enum UIManagerItemType: enumFromThenTo not implemented"
{-# LINE 276 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
instance Flags UIManagerItemType
newtype MergeId = MergeId { fromMergeId :: (CUInt)}
uiManagerNew :: IO UIManager
uiManagerNew =
wrapNewGObject mkUIManager $
gtk_ui_manager_new
{-# LINE 289 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
uiManagerNewMergeId :: UIManager -> IO MergeId
uiManagerNewMergeId self =
liftM MergeId $
(\(UIManager arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_ui_manager_new_merge_id argPtr1)
{-# LINE 299 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
uiManagerSetAddTearoffs :: UIManager
-> Bool
-> IO ()
uiManagerSetAddTearoffs self addTearoffs =
(\(UIManager arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_ui_manager_set_add_tearoffs argPtr1 arg2)
{-# LINE 312 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
(fromBool addTearoffs)
uiManagerGetAddTearoffs :: UIManager
-> IO Bool
uiManagerGetAddTearoffs self =
liftM toBool $
(\(UIManager arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_ui_manager_get_add_tearoffs argPtr1)
{-# LINE 323 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
uiManagerInsertActionGroup :: UIManager
-> ActionGroup
-> Int
-> IO ()
uiManagerInsertActionGroup self actionGroup pos =
(\(UIManager arg1) (ActionGroup arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_ui_manager_insert_action_group argPtr1 argPtr2 arg3)
{-# LINE 335 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
actionGroup
(fromIntegral pos)
uiManagerRemoveActionGroup :: UIManager
-> ActionGroup
-> IO ()
uiManagerRemoveActionGroup :: UIManager -> ActionGroup -> IO ()
uiManagerRemoveActionGroup UIManager
self ActionGroup
actionGroup =
(\(UIManager ForeignPtr UIManager
arg1) (ActionGroup ForeignPtr ActionGroup
arg2) -> ForeignPtr UIManager -> (Ptr UIManager -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO ()) -> IO ())
-> (Ptr UIManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->ForeignPtr ActionGroup -> (Ptr ActionGroup -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr ActionGroup
arg2 ((Ptr ActionGroup -> IO ()) -> IO ())
-> (Ptr ActionGroup -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ActionGroup
argPtr2 ->Ptr UIManager -> Ptr ActionGroup -> IO ()
gtk_ui_manager_remove_action_group Ptr UIManager
argPtr1 Ptr ActionGroup
argPtr2)
{-# LINE 347 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
ActionGroup
actionGroup
uiManagerGetActionGroups :: UIManager -> IO [ActionGroup]
uiManagerGetActionGroups :: UIManager -> IO [ActionGroup]
uiManagerGetActionGroups UIManager
self =
(\(UIManager ForeignPtr UIManager
arg1) -> ForeignPtr UIManager
-> (Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> IO (Ptr ())
gtk_ui_manager_get_action_groups Ptr UIManager
argPtr1)
{-# LINE 355 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
IO (Ptr ())
-> (Ptr () -> IO [Ptr ActionGroup]) -> IO [Ptr ActionGroup]
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 ActionGroup]
forall a. Ptr () -> IO [Ptr a]
readGList
IO [Ptr ActionGroup]
-> ([Ptr ActionGroup] -> IO [ActionGroup]) -> IO [ActionGroup]
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr ActionGroup -> IO ActionGroup)
-> [Ptr ActionGroup] -> IO [ActionGroup]
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 ActionGroup
elemPtr -> (ForeignPtr ActionGroup -> ActionGroup, FinalizerPtr ActionGroup)
-> IO (Ptr ActionGroup) -> IO ActionGroup
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr ActionGroup -> ActionGroup, FinalizerPtr ActionGroup)
forall {a}. (ForeignPtr ActionGroup -> ActionGroup, FinalizerPtr a)
mkActionGroup (Ptr ActionGroup -> IO (Ptr ActionGroup)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ActionGroup
elemPtr))
uiManagerGetAccelGroup :: UIManager
-> IO AccelGroup
uiManagerGetAccelGroup :: UIManager -> IO AccelGroup
uiManagerGetAccelGroup UIManager
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
$
(\(UIManager ForeignPtr UIManager
arg1) -> ForeignPtr UIManager
-> (Ptr UIManager -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup))
-> (Ptr UIManager -> IO (Ptr AccelGroup)) -> IO (Ptr AccelGroup)
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> IO (Ptr AccelGroup)
gtk_ui_manager_get_accel_group Ptr UIManager
argPtr1)
{-# LINE 366 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
uiManagerGetWidget :: GlibString string => UIManager
-> string
-> IO (Maybe Widget)
uiManagerGetWidget :: forall string.
GlibString string =>
UIManager -> string -> IO (Maybe Widget)
uiManagerGetWidget UIManager
self string
path =
(IO (Ptr Widget) -> IO Widget)
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((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) (IO (Ptr Widget) -> IO (Maybe Widget))
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a b. (a -> b) -> a -> b
$
string -> (CString -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
path ((CString -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (CString -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \CString
pathPtr ->
(\(UIManager ForeignPtr UIManager
arg1) CString
arg2 -> ForeignPtr UIManager
-> (Ptr UIManager -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr UIManager -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CString -> IO (Ptr Widget)
gtk_ui_manager_get_widget Ptr UIManager
argPtr1 CString
arg2)
{-# LINE 385 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
CString
pathPtr
uiManagerGetToplevels :: UIManager
-> [UIManagerItemType]
-> IO [Widget]
uiManagerGetToplevels :: UIManager -> [UIManagerItemType] -> IO [Widget]
uiManagerGetToplevels UIManager
self [UIManagerItemType]
types =
(\(UIManager ForeignPtr UIManager
arg1) CInt
arg2 -> ForeignPtr UIManager
-> (Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr UIManager -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CInt -> IO (Ptr ())
gtk_ui_manager_get_toplevels Ptr UIManager
argPtr1 CInt
arg2)
{-# LINE 399 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> ([UIManagerItemType] -> Int) -> [UIManagerItemType] -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [UIManagerItemType] -> Int
forall a. Flags a => [a] -> Int
fromFlags) [UIManagerItemType]
types)
IO (Ptr ()) -> (Ptr () -> IO [Ptr Widget]) -> IO [Ptr Widget]
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 Widget]
forall a. Ptr () -> IO [Ptr a]
fromGSList
IO [Ptr Widget] -> ([Ptr Widget] -> IO [Widget]) -> IO [Widget]
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr Widget -> IO Widget) -> [Ptr Widget] -> IO [Widget]
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 Widget
elemPtr -> (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
elemPtr))
uiManagerGetAction :: GlibString string => UIManager
-> string
-> IO (Maybe Action)
uiManagerGetAction :: forall string.
GlibString string =>
UIManager -> string -> IO (Maybe Action)
uiManagerGetAction UIManager
self string
path =
(IO (Ptr Action) -> IO Action)
-> IO (Ptr Action) -> IO (Maybe Action)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Action -> Action, FinalizerPtr Action)
-> IO (Ptr Action) -> IO Action
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr Action -> Action, FinalizerPtr Action)
forall {a}. (ForeignPtr Action -> Action, FinalizerPtr a)
mkAction) (IO (Ptr Action) -> IO (Maybe Action))
-> IO (Ptr Action) -> IO (Maybe Action)
forall a b. (a -> b) -> a -> b
$
string -> (CString -> IO (Ptr Action)) -> IO (Ptr Action)
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
path ((CString -> IO (Ptr Action)) -> IO (Ptr Action))
-> (CString -> IO (Ptr Action)) -> IO (Ptr Action)
forall a b. (a -> b) -> a -> b
$ \CString
pathPtr ->
(\(UIManager ForeignPtr UIManager
arg1) CString
arg2 -> ForeignPtr UIManager
-> (Ptr UIManager -> IO (Ptr Action)) -> IO (Ptr Action)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO (Ptr Action)) -> IO (Ptr Action))
-> (Ptr UIManager -> IO (Ptr Action)) -> IO (Ptr Action)
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CString -> IO (Ptr Action)
gtk_ui_manager_get_action Ptr UIManager
argPtr1 CString
arg2)
{-# LINE 416 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
CString
pathPtr
uiManagerAddUiFromString :: GlibString string => UIManager
-> string
-> IO MergeId
uiManagerAddUiFromString :: forall string.
GlibString string =>
UIManager -> string -> IO MergeId
uiManagerAddUiFromString UIManager
self string
buffer =
(CUInt -> MergeId) -> IO CUInt -> IO MergeId
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CUInt -> MergeId
MergeId (IO CUInt -> IO MergeId) -> IO CUInt -> IO MergeId
forall a b. (a -> b) -> a -> b
$
(Ptr (Ptr ()) -> IO CUInt) -> IO CUInt
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO CUInt) -> IO CUInt)
-> (Ptr (Ptr ()) -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errorPtr ->
string -> (CStringLen -> IO CUInt) -> IO CUInt
forall a. string -> (CStringLen -> IO a) -> IO a
forall s a. GlibString s => s -> (CStringLen -> IO a) -> IO a
withUTFStringLen string
buffer ((CStringLen -> IO CUInt) -> IO CUInt)
-> (CStringLen -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \(CString
bufferPtr, Int
length) ->
(\(UIManager ForeignPtr UIManager
arg1) CString
arg2 CLong
arg3 Ptr (Ptr ())
arg4 -> ForeignPtr UIManager -> (Ptr UIManager -> IO CUInt) -> IO CUInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO CUInt) -> IO CUInt)
-> (Ptr UIManager -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CString -> CLong -> Ptr (Ptr ()) -> IO CUInt
gtk_ui_manager_add_ui_from_string Ptr UIManager
argPtr1 CString
arg2 CLong
arg3 Ptr (Ptr ())
arg4)
{-# LINE 433 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
CString
bufferPtr
(Int -> CLong
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
length)
Ptr (Ptr ())
errorPtr
uiManagerAddUiFromFile :: GlibString string => UIManager
-> string
-> IO MergeId
uiManagerAddUiFromFile :: forall string.
GlibString string =>
UIManager -> string -> IO MergeId
uiManagerAddUiFromFile UIManager
self string
filename =
(CUInt -> MergeId) -> IO CUInt -> IO MergeId
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CUInt -> MergeId
MergeId (IO CUInt -> IO MergeId) -> IO CUInt -> IO MergeId
forall a b. (a -> b) -> a -> b
$
(Ptr (Ptr ()) -> IO CUInt) -> IO CUInt
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO CUInt) -> IO CUInt)
-> (Ptr (Ptr ()) -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errorPtr ->
string -> (CString -> IO CUInt) -> IO CUInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
filename ((CString -> IO CUInt) -> IO CUInt)
-> (CString -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \CString
filenamePtr ->
(\(UIManager ForeignPtr UIManager
arg1) CString
arg2 Ptr (Ptr ())
arg3 -> ForeignPtr UIManager -> (Ptr UIManager -> IO CUInt) -> IO CUInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO CUInt) -> IO CUInt)
-> (Ptr UIManager -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CString -> Ptr (Ptr ()) -> IO CUInt
gtk_ui_manager_add_ui_from_file Ptr UIManager
argPtr1 CString
arg2 Ptr (Ptr ())
arg3)
{-# LINE 455 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
UIManager
self
CString
filenamePtr
Ptr (Ptr ())
errorPtr
uiManagerAddUi :: GlibString string => UIManager
-> MergeId
-> string
-> string
-> Maybe string
-> [UIManagerItemType]
-> Bool
-> IO ()
uiManagerAddUi :: forall string.
GlibString string =>
UIManager
-> MergeId
-> string
-> string
-> Maybe string
-> [UIManagerItemType]
-> Bool
-> IO ()
uiManagerAddUi UIManager
self MergeId
mergeId string
path string
name Maybe string
action [UIManagerItemType]
type_ Bool
top =
(string -> (CString -> IO ()) -> IO ())
-> Maybe string -> (CString -> IO ()) -> IO ()
forall a b c.
(a -> (Ptr b -> IO c) -> IO c)
-> Maybe a -> (Ptr b -> IO c) -> IO c
maybeWith string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString Maybe string
action ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
actionPtr ->
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
name ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
namePtr ->
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
path ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
pathPtr ->
(\(UIManager ForeignPtr UIManager
arg1) CUInt
arg2 CString
arg3 CString
arg4 CString
arg5 CInt
arg6 CInt
arg7 -> ForeignPtr UIManager -> (Ptr UIManager -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO ()) -> IO ())
-> (Ptr UIManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager
-> CUInt -> CString -> CString -> CString -> CInt -> CInt -> IO ()
gtk_ui_manager_add_ui Ptr UIManager
argPtr1 CUInt
arg2 CString
arg3 CString
arg4 CString
arg5 CInt
arg6 CInt
arg7)
{-# LINE 487 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
(MergeId -> CUInt
fromMergeId MergeId
mergeId)
CString
pathPtr
CString
namePtr
CString
actionPtr
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> ([UIManagerItemType] -> Int) -> [UIManagerItemType] -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [UIManagerItemType] -> Int
forall a. Flags a => [a] -> Int
fromFlags) [UIManagerItemType]
type_)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
top)
uiManagerRemoveUi :: UIManager
-> MergeId
-> IO ()
uiManagerRemoveUi :: UIManager -> MergeId -> IO ()
uiManagerRemoveUi UIManager
self MergeId
mergeId =
(\(UIManager ForeignPtr UIManager
arg1) CUInt
arg2 -> ForeignPtr UIManager -> (Ptr UIManager -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO ()) -> IO ())
-> (Ptr UIManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> CUInt -> IO ()
gtk_ui_manager_remove_ui Ptr UIManager
argPtr1 CUInt
arg2)
{-# LINE 503 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
(MergeId -> CUInt
fromMergeId MergeId
mergeId)
uiManagerGetUi :: GlibString string => UIManager
-> IO string
uiManagerGetUi :: forall string. GlibString string => UIManager -> IO string
uiManagerGetUi UIManager
self =
(\(UIManager ForeignPtr UIManager
arg1) -> ForeignPtr UIManager -> (Ptr UIManager -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO CString) -> IO CString)
-> (Ptr UIManager -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> IO CString
gtk_ui_manager_get_ui Ptr UIManager
argPtr1)
{-# LINE 513 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
IO CString -> (CString -> IO string) -> IO 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
forall s. GlibString s => CString -> IO s
readUTFString
uiManagerEnsureUpdate :: UIManager -> IO ()
uiManagerEnsureUpdate :: UIManager -> IO ()
uiManagerEnsureUpdate UIManager
self =
(\(UIManager ForeignPtr UIManager
arg1) -> ForeignPtr UIManager -> (Ptr UIManager -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr UIManager
arg1 ((Ptr UIManager -> IO ()) -> IO ())
-> (Ptr UIManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr UIManager
argPtr1 ->Ptr UIManager -> IO ()
gtk_ui_manager_ensure_update Ptr UIManager
argPtr1)
{-# LINE 534 "./Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs" #-}
self
uiManagerAddTearoffs :: Attr UIManager Bool
uiManagerAddTearoffs :: Attr UIManager Bool
uiManagerAddTearoffs = (UIManager -> IO Bool)
-> (UIManager -> Bool -> IO ()) -> Attr UIManager Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
UIManager -> IO Bool
uiManagerGetAddTearoffs
UIManager -> Bool -> IO ()
uiManagerSetAddTearoffs
uiManagerUi :: GlibString string => ReadAttr UIManager string
uiManagerUi :: forall string. GlibString string => ReadAttr UIManager string
uiManagerUi = [Char] -> ReadAttr UIManager string
forall gobj string.
(GObjectClass gobj, GlibString string) =>
[Char] -> ReadAttr gobj string
readAttrFromStringProperty [Char]
"ui"
addWidget :: UIManagerClass self => Signal self (Widget -> IO ())
addWidget :: forall self. UIManagerClass self => Signal self (Widget -> IO ())
addWidget = (Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self))
-> Signal self (Widget -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal ([Char] -> Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"add-widget")
actionsChanged :: UIManagerClass self => Signal self (IO ())
actionsChanged :: forall self. UIManagerClass self => Signal self (IO ())
actionsChanged = (Bool -> self -> IO () -> IO (ConnectId self))
-> Signal self (IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal ([Char] -> Bool -> self -> IO () -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
[Char] -> Bool -> obj -> IO () -> IO (ConnectId obj)
connect_NONE__NONE [Char]
"actions-changed")
onAddWidget, afterAddWidget :: UIManagerClass self => self
-> (Widget -> IO ())
-> IO (ConnectId self)
onAddWidget :: forall self.
UIManagerClass self =>
self -> (Widget -> IO ()) -> IO (ConnectId self)
onAddWidget = [Char] -> Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"add_widget" Bool
False
afterAddWidget :: forall self.
UIManagerClass self =>
self -> (Widget -> IO ()) -> IO (ConnectId self)
afterAddWidget = [Char] -> Bool -> self -> (Widget -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"add_widget" Bool
True
onActionsChanged, afterActionsChanged :: UIManagerClass self => self
-> IO ()
-> IO (ConnectId self)
onActionsChanged :: forall self.
UIManagerClass self =>
self -> IO () -> IO (ConnectId self)
onActionsChanged = [Char] -> Bool -> self -> IO () -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
[Char] -> Bool -> obj -> IO () -> IO (ConnectId obj)
connect_NONE__NONE [Char]
"actions_changed" Bool
False
afterActionsChanged :: forall self.
UIManagerClass self =>
self -> IO () -> IO (ConnectId self)
afterActionsChanged = [Char] -> Bool -> self -> IO () -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
[Char] -> Bool -> obj -> IO () -> IO (ConnectId obj)
connect_NONE__NONE [Char]
"actions_changed" Bool
True
onConnectProxy, afterConnectProxy :: UIManagerClass self => self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
onConnectProxy :: forall self.
UIManagerClass self =>
self -> (Action -> Widget -> IO ()) -> IO (ConnectId self)
onConnectProxy = [Char]
-> Bool
-> self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
forall a' b' obj.
(GObjectClass a', GObjectClass b', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> b' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT_OBJECT__NONE [Char]
"connect_proxy" Bool
False
afterConnectProxy :: forall self.
UIManagerClass self =>
self -> (Action -> Widget -> IO ()) -> IO (ConnectId self)
afterConnectProxy = [Char]
-> Bool
-> self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
forall a' b' obj.
(GObjectClass a', GObjectClass b', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> b' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT_OBJECT__NONE [Char]
"connect_proxy" Bool
True
onDisconnectProxy, afterDisconnectProxy :: UIManagerClass self => self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
onDisconnectProxy :: forall self.
UIManagerClass self =>
self -> (Action -> Widget -> IO ()) -> IO (ConnectId self)
onDisconnectProxy = [Char]
-> Bool
-> self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
forall a' b' obj.
(GObjectClass a', GObjectClass b', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> b' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT_OBJECT__NONE [Char]
"disconnect_proxy" Bool
False
afterDisconnectProxy :: forall self.
UIManagerClass self =>
self -> (Action -> Widget -> IO ()) -> IO (ConnectId self)
afterDisconnectProxy = [Char]
-> Bool
-> self
-> (Action -> Widget -> IO ())
-> IO (ConnectId self)
forall a' b' obj.
(GObjectClass a', GObjectClass b', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> b' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT_OBJECT__NONE [Char]
"disconnect_proxy" Bool
True
onPreActivate, afterPreActivate :: UIManagerClass self => self
-> (Action -> IO ())
-> IO (ConnectId self)
onPreActivate :: forall self.
UIManagerClass self =>
self -> (Action -> IO ()) -> IO (ConnectId self)
onPreActivate = [Char] -> Bool -> self -> (Action -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"pre_activate" Bool
False
afterPreActivate :: forall self.
UIManagerClass self =>
self -> (Action -> IO ()) -> IO (ConnectId self)
afterPreActivate = [Char] -> Bool -> self -> (Action -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"pre_activate" Bool
True
onPostActivate, afterPostActivate :: UIManagerClass self => self
-> (Action -> IO ())
-> IO (ConnectId self)
onPostActivate :: forall self.
UIManagerClass self =>
self -> (Action -> IO ()) -> IO (ConnectId self)
onPostActivate = [Char] -> Bool -> self -> (Action -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"post_activate" Bool
False
afterPostActivate :: forall self.
UIManagerClass self =>
self -> (Action -> IO ()) -> IO (ConnectId self)
afterPostActivate = [Char] -> Bool -> self -> (Action -> IO ()) -> IO (ConnectId self)
forall a' obj.
(GObjectClass a', GObjectClass obj) =>
[Char] -> Bool -> obj -> (a' -> IO ()) -> IO (ConnectId obj)
connect_OBJECT__NONE [Char]
"post_activate" Bool
True
foreign import ccall safe "gtk_ui_manager_new"
gtk_ui_manager_new :: (IO (Ptr UIManager))
foreign import ccall safe "gtk_ui_manager_new_merge_id"
gtk_ui_manager_new_merge_id :: ((Ptr UIManager) -> (IO CUInt))
foreign import ccall safe "gtk_ui_manager_set_add_tearoffs"
gtk_ui_manager_set_add_tearoffs :: ((Ptr UIManager) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_ui_manager_get_add_tearoffs"
gtk_ui_manager_get_add_tearoffs :: ((Ptr UIManager) -> (IO CInt))
foreign import ccall safe "gtk_ui_manager_insert_action_group"
gtk_ui_manager_insert_action_group :: ((Ptr UIManager) -> ((Ptr ActionGroup) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_ui_manager_remove_action_group"
gtk_ui_manager_remove_action_group :: ((Ptr UIManager) -> ((Ptr ActionGroup) -> (IO ())))
foreign import ccall safe "gtk_ui_manager_get_action_groups"
gtk_ui_manager_get_action_groups :: ((Ptr UIManager) -> (IO (Ptr ())))
foreign import ccall safe "gtk_ui_manager_get_accel_group"
gtk_ui_manager_get_accel_group :: ((Ptr UIManager) -> (IO (Ptr AccelGroup)))
foreign import ccall safe "gtk_ui_manager_get_widget"
gtk_ui_manager_get_widget :: ((Ptr UIManager) -> ((Ptr CChar) -> (IO (Ptr Widget))))
foreign import ccall safe "gtk_ui_manager_get_toplevels"
gtk_ui_manager_get_toplevels :: ((Ptr UIManager) -> (CInt -> (IO (Ptr ()))))
foreign import ccall safe "gtk_ui_manager_get_action"
gtk_ui_manager_get_action :: ((Ptr UIManager) -> ((Ptr CChar) -> (IO (Ptr Action))))
foreign import ccall safe "gtk_ui_manager_add_ui_from_string"
gtk_ui_manager_add_ui_from_string :: ((Ptr UIManager) -> ((Ptr CChar) -> (CLong -> ((Ptr (Ptr ())) -> (IO CUInt)))))
foreign import ccall safe "gtk_ui_manager_add_ui_from_file"
gtk_ui_manager_add_ui_from_file :: ((Ptr UIManager) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO CUInt))))
foreign import ccall safe "gtk_ui_manager_add_ui"
gtk_ui_manager_add_ui :: ((Ptr UIManager) -> (CUInt -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (CInt -> (CInt -> (IO ()))))))))
foreign import ccall safe "gtk_ui_manager_remove_ui"
gtk_ui_manager_remove_ui :: ((Ptr UIManager) -> (CUInt -> (IO ())))
foreign import ccall safe "gtk_ui_manager_get_ui"
gtk_ui_manager_get_ui :: ((Ptr UIManager) -> (IO (Ptr CChar)))
foreign import ccall safe "gtk_ui_manager_ensure_update"
gtk_ui_manager_ensure_update :: ((Ptr UIManager) -> (IO ()))