{-# LINE 2 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
module Graphics.UI.Gtk.MenuComboToolbar.Combo (
Combo,
ComboClass,
castToCombo, gTypeCombo,
toCombo,
comboNew,
comboSetPopdownStrings,
comboSetValueInList,
comboSetUseArrows,
comboSetUseArrowsAlways,
comboSetCaseSensitive,
comboDisableActivate,
comboEnableArrowKeys,
comboEnableArrowsAlways,
comboCaseSensitive,
comboAllowEmpty,
comboValueInList,
) where
import Control.Monad (liftM)
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.Abstract.Widget (widgetShow)
import Graphics.UI.Gtk.Abstract.Container (containerAdd)
import Graphics.UI.Gtk.Types
{-# LINE 107 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
import Graphics.UI.Gtk.General.Structs (comboGetList)
{-# LINE 113 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
comboNew :: IO Combo
comboNew =
makeNewObject mkCombo $
liftM castPtr $
gtk_combo_new
{-# LINE 125 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
comboSetPopdownStrings :: (ComboClass self, GlibString string) => self -> [string] -> IO ()
comboSetPopdownStrings self strs = do
list <- comboGetList (toCombo self)
(\(List arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_list_clear_items argPtr1 arg2 arg3) list 0 (-1)
mapM_ (\str -> do
li <- makeNewObject mkWidget $ liftM castPtr $
withUTFString str gtk_list_item_new_with_label
{-# LINE 139 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
widgetShow li
containerAdd list li)
strs
comboSetValueInList :: ComboClass self => self
-> Bool
-> Bool
-> IO ()
comboSetValueInList self val okIfEmpty =
(\(Combo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_combo_set_value_in_list argPtr1 arg2 arg3)
{-# LINE 157 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
(toCombo self)
(fromBool val)
(fromBool okIfEmpty)
comboSetUseArrows :: ComboClass self => self -> Bool -> IO ()
comboSetUseArrows self val =
(\(Combo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_combo_set_use_arrows argPtr1 arg2)
{-# LINE 167 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
(toCombo self)
(fromBool val)
comboSetUseArrowsAlways :: ComboClass self => self -> Bool -> IO ()
comboSetUseArrowsAlways self val =
(\(Combo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_combo_set_use_arrows_always argPtr1 arg2)
{-# LINE 175 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
(toCombo self)
(fromBool val)
comboSetCaseSensitive :: ComboClass self => self -> Bool -> IO ()
comboSetCaseSensitive self val =
(\(Combo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_combo_set_case_sensitive argPtr1 arg2)
{-# LINE 188 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
(toCombo self)
(fromBool val)
comboDisableActivate :: ComboClass self => self -> IO ()
comboDisableActivate self =
(\(Combo arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_combo_disable_activate argPtr1)
{-# LINE 199 "./Graphics/UI/Gtk/MenuComboToolbar/Combo.chs" #-}
(toCombo self)
comboEnableArrowKeys :: ComboClass self => Attr self Bool
comboEnableArrowKeys = newAttrFromBoolProperty "enable-arrow-keys"
comboEnableArrowsAlways :: ComboClass self => Attr self Bool
comboEnableArrowsAlways = newAttrFromBoolProperty "enable-arrows-always"
comboCaseSensitive :: ComboClass self => Attr self Bool
comboCaseSensitive = newAttrFromBoolProperty "case-sensitive"
comboAllowEmpty :: ComboClass self => Attr self Bool
comboAllowEmpty = newAttrFromBoolProperty "allow-empty"
comboValueInList :: ComboClass self => Attr self Bool
comboValueInList = newAttrFromBoolProperty "value-in-list"
foreign import ccall unsafe "gtk_combo_new"
gtk_combo_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_list_clear_items"
gtk_list_clear_items :: ((Ptr List) -> (CInt -> (CInt -> (IO ()))))
foreign import ccall unsafe "gtk_list_item_new_with_label"
gtk_list_item_new_with_label :: ((Ptr CChar) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_combo_set_value_in_list"
gtk_combo_set_value_in_list :: ((Ptr Combo) -> (CInt -> (CInt -> (IO ()))))
foreign import ccall unsafe "gtk_combo_set_use_arrows"
gtk_combo_set_use_arrows :: ((Ptr Combo) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_combo_set_use_arrows_always"
gtk_combo_set_use_arrows_always :: ((Ptr Combo) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_combo_set_case_sensitive"
gtk_combo_set_case_sensitive :: ((Ptr Combo) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_combo_disable_activate"
gtk_combo_disable_activate :: ((Ptr Combo) -> (IO ()))