module Graphics.UI.Gtk.MenuComboToolbar.Toolbar (
Toolbar,
ToolbarClass,
castToToolbar, gTypeToolbar,
toToolbar,
Orientation(..),
ToolbarStyle(..),
toolbarNew,
toolbarSetStyle,
toolbarGetStyle,
toolbarUnsetStyle,
IconSize(..),
toolbarGetIconSize,
toolbarInsert,
toolbarGetItemIndex,
toolbarGetNItems,
toolbarGetNthItem,
toolbarGetDropIndex,
toolbarSetDropHighlightItem,
toolbarSetShowArrow,
toolbarGetShowArrow,
ReliefStyle(..),
toolbarGetReliefStyle,
toolbarShowArrow,
toolbarStyle,
toolbarChildExpand,
toolbarChildHomogeneous,
onOrientationChanged,
afterOrientationChanged,
onStyleChanged,
afterStyleChanged,
onPopupContextMenu,
afterPopupContextMenu,
) where
import Control.Monad (liftM)
import Data.Maybe (fromJust)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
import Graphics.UI.Gtk.Signals
import Graphics.UI.Gtk.Abstract.ContainerChildProperties
import Graphics.UI.Gtk.General.Enums (Orientation(..), ToolbarStyle(..),
ReliefStyle(..))
import Graphics.UI.Gtk.General.StockItems
import Graphics.UI.Gtk.General.Structs (
IconSize(..))
import Graphics.UI.Gtk.General.StockItems (stockLookupItem, siLabel, stockMissingImage)
import Graphics.UI.Gtk.Display.Image (imageNewFromStock)
toolbarNew :: IO Toolbar
toolbarNew =
makeNewObject mkToolbar $
liftM (castPtr :: Ptr Widget -> Ptr Toolbar) $
gtk_toolbar_new
mkToolText :: Maybe (String,String) -> (CString -> CString -> IO a) -> IO a
mkToolText Nothing fun = fun nullPtr nullPtr
mkToolText (Just (text,private)) fun = withUTFString text $ \txtPtr ->
withUTFString private $ \prvPtr -> fun txtPtr prvPtr
toolbarSetStyle :: ToolbarClass self => self -> ToolbarStyle -> IO ()
toolbarSetStyle self style =
(\(Toolbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_set_style argPtr1 arg2)
(toToolbar self)
((fromIntegral . fromEnum) style)
toolbarGetStyle :: ToolbarClass self => self -> IO ToolbarStyle
toolbarGetStyle self =
liftM (toEnum . fromIntegral) $
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_style argPtr1)
(toToolbar self)
toolbarUnsetStyle :: ToolbarClass self => self -> IO ()
toolbarUnsetStyle self =
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_unset_style argPtr1)
(toToolbar self)
toolbarGetIconSize :: ToolbarClass self => self -> IO IconSize
toolbarGetIconSize self =
liftM (toEnum . fromIntegral) $
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_icon_size argPtr1)
(toToolbar self)
toolbarInsert :: (ToolbarClass self, ToolItemClass item) => self
-> item
-> Int
-> IO ()
toolbarInsert self item pos =
(\(Toolbar arg1) (ToolItem arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_toolbar_insert argPtr1 argPtr2 arg3)
(toToolbar self)
(toToolItem item)
(fromIntegral pos)
toolbarGetItemIndex :: (ToolbarClass self, ToolItemClass item) => self
-> item
-> IO Int
toolbarGetItemIndex self item =
liftM fromIntegral $
(\(Toolbar arg1) (ToolItem arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_toolbar_get_item_index argPtr1 argPtr2)
(toToolbar self)
(toToolItem item)
toolbarGetNItems :: ToolbarClass self => self -> IO Int
toolbarGetNItems self =
liftM fromIntegral $
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_n_items argPtr1)
(toToolbar self)
toolbarGetNthItem :: ToolbarClass self => self
-> Int
-> IO (Maybe ToolItem)
toolbarGetNthItem self n =
maybeNull (makeNewObject mkToolItem) $
(\(Toolbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_nth_item argPtr1 arg2)
(toToolbar self)
(fromIntegral n)
toolbarGetDropIndex :: ToolbarClass self => self
-> (Int, Int)
-> IO Int
toolbarGetDropIndex self (x,y) =
liftM fromIntegral $
(\(Toolbar arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_drop_index argPtr1 arg2 arg3)
(toToolbar self)
(fromIntegral x)
(fromIntegral y)
toolbarSetDropHighlightItem :: (ToolbarClass self, ToolItemClass toolItem) => self
-> Maybe toolItem
-> Int
-> IO ()
toolbarSetDropHighlightItem self toolItem index =
(\(Toolbar arg1) (ToolItem arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_toolbar_set_drop_highlight_item argPtr1 argPtr2 arg3)
(toToolbar self)
(maybe (ToolItem nullForeignPtr) toToolItem toolItem)
(fromIntegral index)
toolbarSetShowArrow :: ToolbarClass self => self -> Bool -> IO ()
toolbarSetShowArrow self showArrow =
(\(Toolbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_set_show_arrow argPtr1 arg2)
(toToolbar self)
(fromBool showArrow)
toolbarGetShowArrow :: ToolbarClass self => self -> IO Bool
toolbarGetShowArrow self =
liftM toBool $
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_show_arrow argPtr1)
(toToolbar self)
toolbarGetReliefStyle :: ToolbarClass self => self -> IO ReliefStyle
toolbarGetReliefStyle self =
liftM (toEnum . fromIntegral) $
(\(Toolbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_toolbar_get_relief_style argPtr1)
(toToolbar self)
toolbarStyle :: ToolbarClass self => Attr self ToolbarStyle
toolbarStyle = newAttrFromEnumProperty "toolbar-style"
gtk_toolbar_style_get_type
toolbarShowArrow :: ToolbarClass self => Attr self Bool
toolbarShowArrow = newAttr
toolbarGetShowArrow
toolbarSetShowArrow
toolbarChildExpand :: (ToolbarClass self, WidgetClass child) => child -> Attr self Bool
toolbarChildExpand = newAttrFromContainerChildBoolProperty "expand"
toolbarChildHomogeneous :: (ToolbarClass self, WidgetClass child) => child -> Attr self Bool
toolbarChildHomogeneous = newAttrFromContainerChildBoolProperty "homogeneous"
onOrientationChanged, afterOrientationChanged :: ToolbarClass self => self
-> (Orientation -> IO ())
-> IO (ConnectId self)
onOrientationChanged = connect_ENUM__NONE "orientation-changed" False
afterOrientationChanged = connect_ENUM__NONE "orientation-changed" True
onStyleChanged, afterStyleChanged :: ToolbarClass self => self
-> (ToolbarStyle -> IO ())
-> IO (ConnectId self)
onStyleChanged = connect_ENUM__NONE "style-changed" False
afterStyleChanged = connect_ENUM__NONE "style-changed" True
onPopupContextMenu, afterPopupContextMenu :: ToolbarClass self => self
-> (Int -> Int -> Int -> IO Bool)
-> IO (ConnectId self)
onPopupContextMenu = connect_INT_INT_INT__BOOL "popup-context-menu" False
afterPopupContextMenu = connect_INT_INT_INT__BOOL "popup-context-menu" True
foreign import ccall unsafe "gtk_toolbar_new"
gtk_toolbar_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_toolbar_set_style"
gtk_toolbar_set_style :: ((Ptr Toolbar) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_toolbar_get_style"
gtk_toolbar_get_style :: ((Ptr Toolbar) -> (IO CInt))
foreign import ccall safe "gtk_toolbar_unset_style"
gtk_toolbar_unset_style :: ((Ptr Toolbar) -> (IO ()))
foreign import ccall unsafe "gtk_toolbar_get_icon_size"
gtk_toolbar_get_icon_size :: ((Ptr Toolbar) -> (IO CInt))
foreign import ccall safe "gtk_toolbar_insert"
gtk_toolbar_insert :: ((Ptr Toolbar) -> ((Ptr ToolItem) -> (CInt -> (IO ()))))
foreign import ccall unsafe "gtk_toolbar_get_item_index"
gtk_toolbar_get_item_index :: ((Ptr Toolbar) -> ((Ptr ToolItem) -> (IO CInt)))
foreign import ccall unsafe "gtk_toolbar_get_n_items"
gtk_toolbar_get_n_items :: ((Ptr Toolbar) -> (IO CInt))
foreign import ccall unsafe "gtk_toolbar_get_nth_item"
gtk_toolbar_get_nth_item :: ((Ptr Toolbar) -> (CInt -> (IO (Ptr ToolItem))))
foreign import ccall unsafe "gtk_toolbar_get_drop_index"
gtk_toolbar_get_drop_index :: ((Ptr Toolbar) -> (CInt -> (CInt -> (IO CInt))))
foreign import ccall safe "gtk_toolbar_set_drop_highlight_item"
gtk_toolbar_set_drop_highlight_item :: ((Ptr Toolbar) -> ((Ptr ToolItem) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_toolbar_set_show_arrow"
gtk_toolbar_set_show_arrow :: ((Ptr Toolbar) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_toolbar_get_show_arrow"
gtk_toolbar_get_show_arrow :: ((Ptr Toolbar) -> (IO CInt))
foreign import ccall unsafe "gtk_toolbar_get_relief_style"
gtk_toolbar_get_relief_style :: ((Ptr Toolbar) -> (IO CInt))
foreign import ccall unsafe "gtk_toolbar_style_get_type"
gtk_toolbar_style_get_type :: CULong