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 qualified Data.Text as T (filter)
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 :: GlibString string => 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