module GI.Gtk.Objects.Button
(
Button(..) ,
ButtonK ,
toButton ,
noButton ,
buttonClicked ,
buttonEnter ,
buttonGetAlignment ,
buttonGetAlwaysShowImage ,
buttonGetEventWindow ,
buttonGetFocusOnClick ,
buttonGetImage ,
buttonGetImagePosition ,
buttonGetLabel ,
buttonGetRelief ,
buttonGetUseStock ,
buttonGetUseUnderline ,
buttonLeave ,
buttonNew ,
buttonNewFromIconName ,
buttonNewFromStock ,
buttonNewWithLabel ,
buttonNewWithMnemonic ,
buttonPressed ,
buttonReleased ,
buttonSetAlignment ,
buttonSetAlwaysShowImage ,
buttonSetFocusOnClick ,
buttonSetImage ,
buttonSetImagePosition ,
buttonSetLabel ,
buttonSetRelief ,
buttonSetUseStock ,
buttonSetUseUnderline ,
ButtonAlwaysShowImagePropertyInfo ,
constructButtonAlwaysShowImage ,
getButtonAlwaysShowImage ,
setButtonAlwaysShowImage ,
ButtonFocusOnClickPropertyInfo ,
constructButtonFocusOnClick ,
getButtonFocusOnClick ,
setButtonFocusOnClick ,
ButtonImagePropertyInfo ,
constructButtonImage ,
getButtonImage ,
setButtonImage ,
ButtonImagePositionPropertyInfo ,
constructButtonImagePosition ,
getButtonImagePosition ,
setButtonImagePosition ,
ButtonLabelPropertyInfo ,
constructButtonLabel ,
getButtonLabel ,
setButtonLabel ,
ButtonReliefPropertyInfo ,
constructButtonRelief ,
getButtonRelief ,
setButtonRelief ,
ButtonUseStockPropertyInfo ,
constructButtonUseStock ,
getButtonUseStock ,
setButtonUseStock ,
ButtonUseUnderlinePropertyInfo ,
constructButtonUseUnderline ,
getButtonUseUnderline ,
setButtonUseUnderline ,
ButtonXalignPropertyInfo ,
constructButtonXalign ,
getButtonXalign ,
setButtonXalign ,
ButtonYalignPropertyInfo ,
constructButtonYalign ,
getButtonYalign ,
setButtonYalign ,
ButtonActivateCallback ,
ButtonActivateCallbackC ,
ButtonActivateSignalInfo ,
afterButtonActivate ,
buttonActivateCallbackWrapper ,
buttonActivateClosure ,
mkButtonActivateCallback ,
noButtonActivateCallback ,
onButtonActivate ,
ButtonClickedCallback ,
ButtonClickedCallbackC ,
ButtonClickedSignalInfo ,
afterButtonClicked ,
buttonClickedCallbackWrapper ,
buttonClickedClosure ,
mkButtonClickedCallback ,
noButtonClickedCallback ,
onButtonClicked ,
ButtonEnterCallback ,
ButtonEnterCallbackC ,
ButtonEnterSignalInfo ,
afterButtonEnter ,
buttonEnterCallbackWrapper ,
buttonEnterClosure ,
mkButtonEnterCallback ,
noButtonEnterCallback ,
onButtonEnter ,
ButtonLeaveCallback ,
ButtonLeaveCallbackC ,
ButtonLeaveSignalInfo ,
afterButtonLeave ,
buttonLeaveCallbackWrapper ,
buttonLeaveClosure ,
mkButtonLeaveCallback ,
noButtonLeaveCallback ,
onButtonLeave ,
ButtonPressedCallback ,
ButtonPressedCallbackC ,
ButtonPressedSignalInfo ,
afterButtonPressed ,
buttonPressedCallbackWrapper ,
buttonPressedClosure ,
mkButtonPressedCallback ,
noButtonPressedCallback ,
onButtonPressed ,
ButtonReleasedCallback ,
ButtonReleasedCallbackC ,
ButtonReleasedSignalInfo ,
afterButtonReleased ,
buttonReleasedCallbackWrapper ,
buttonReleasedClosure ,
mkButtonReleasedCallback ,
noButtonReleasedCallback ,
onButtonReleased ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.Atk as Atk
import qualified GI.GObject as GObject
import qualified GI.Gdk as Gdk
newtype Button = Button (ForeignPtr Button)
foreign import ccall "gtk_button_get_type"
c_gtk_button_get_type :: IO GType
type instance ParentTypes Button = ButtonParentTypes
type ButtonParentTypes = '[Bin, Container, Widget, GObject.Object, Atk.ImplementorIface, Actionable, Activatable, Buildable]
instance GObject Button where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gtk_button_get_type
class GObject o => ButtonK o
instance (GObject o, IsDescendantOf Button o) => ButtonK o
toButton :: ButtonK o => o -> IO Button
toButton = unsafeCastTo Button
noButton :: Maybe Button
noButton = Nothing
type ButtonActivateCallback =
IO ()
noButtonActivateCallback :: Maybe ButtonActivateCallback
noButtonActivateCallback = Nothing
type ButtonActivateCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonActivateCallback :: ButtonActivateCallbackC -> IO (FunPtr ButtonActivateCallbackC)
buttonActivateClosure :: ButtonActivateCallback -> IO Closure
buttonActivateClosure cb = newCClosure =<< mkButtonActivateCallback wrapped
where wrapped = buttonActivateCallbackWrapper cb
buttonActivateCallbackWrapper ::
ButtonActivateCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonActivateCallbackWrapper _cb _ _ = do
_cb
onButtonActivate :: (GObject a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
onButtonActivate obj cb = liftIO $ connectButtonActivate obj cb SignalConnectBefore
afterButtonActivate :: (GObject a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
afterButtonActivate obj cb = connectButtonActivate obj cb SignalConnectAfter
connectButtonActivate :: (GObject a, MonadIO m) =>
a -> ButtonActivateCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonActivate obj cb after = liftIO $ do
cb' <- mkButtonActivateCallback (buttonActivateCallbackWrapper cb)
connectSignalFunPtr obj "activate" cb' after
type ButtonClickedCallback =
IO ()
noButtonClickedCallback :: Maybe ButtonClickedCallback
noButtonClickedCallback = Nothing
type ButtonClickedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonClickedCallback :: ButtonClickedCallbackC -> IO (FunPtr ButtonClickedCallbackC)
buttonClickedClosure :: ButtonClickedCallback -> IO Closure
buttonClickedClosure cb = newCClosure =<< mkButtonClickedCallback wrapped
where wrapped = buttonClickedCallbackWrapper cb
buttonClickedCallbackWrapper ::
ButtonClickedCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonClickedCallbackWrapper _cb _ _ = do
_cb
onButtonClicked :: (GObject a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
onButtonClicked obj cb = liftIO $ connectButtonClicked obj cb SignalConnectBefore
afterButtonClicked :: (GObject a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
afterButtonClicked obj cb = connectButtonClicked obj cb SignalConnectAfter
connectButtonClicked :: (GObject a, MonadIO m) =>
a -> ButtonClickedCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonClicked obj cb after = liftIO $ do
cb' <- mkButtonClickedCallback (buttonClickedCallbackWrapper cb)
connectSignalFunPtr obj "clicked" cb' after
type ButtonEnterCallback =
IO ()
noButtonEnterCallback :: Maybe ButtonEnterCallback
noButtonEnterCallback = Nothing
type ButtonEnterCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonEnterCallback :: ButtonEnterCallbackC -> IO (FunPtr ButtonEnterCallbackC)
buttonEnterClosure :: ButtonEnterCallback -> IO Closure
buttonEnterClosure cb = newCClosure =<< mkButtonEnterCallback wrapped
where wrapped = buttonEnterCallbackWrapper cb
buttonEnterCallbackWrapper ::
ButtonEnterCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonEnterCallbackWrapper _cb _ _ = do
_cb
onButtonEnter :: (GObject a, MonadIO m) => a -> ButtonEnterCallback -> m SignalHandlerId
onButtonEnter obj cb = liftIO $ connectButtonEnter obj cb SignalConnectBefore
afterButtonEnter :: (GObject a, MonadIO m) => a -> ButtonEnterCallback -> m SignalHandlerId
afterButtonEnter obj cb = connectButtonEnter obj cb SignalConnectAfter
connectButtonEnter :: (GObject a, MonadIO m) =>
a -> ButtonEnterCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonEnter obj cb after = liftIO $ do
cb' <- mkButtonEnterCallback (buttonEnterCallbackWrapper cb)
connectSignalFunPtr obj "enter" cb' after
type ButtonLeaveCallback =
IO ()
noButtonLeaveCallback :: Maybe ButtonLeaveCallback
noButtonLeaveCallback = Nothing
type ButtonLeaveCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonLeaveCallback :: ButtonLeaveCallbackC -> IO (FunPtr ButtonLeaveCallbackC)
buttonLeaveClosure :: ButtonLeaveCallback -> IO Closure
buttonLeaveClosure cb = newCClosure =<< mkButtonLeaveCallback wrapped
where wrapped = buttonLeaveCallbackWrapper cb
buttonLeaveCallbackWrapper ::
ButtonLeaveCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonLeaveCallbackWrapper _cb _ _ = do
_cb
onButtonLeave :: (GObject a, MonadIO m) => a -> ButtonLeaveCallback -> m SignalHandlerId
onButtonLeave obj cb = liftIO $ connectButtonLeave obj cb SignalConnectBefore
afterButtonLeave :: (GObject a, MonadIO m) => a -> ButtonLeaveCallback -> m SignalHandlerId
afterButtonLeave obj cb = connectButtonLeave obj cb SignalConnectAfter
connectButtonLeave :: (GObject a, MonadIO m) =>
a -> ButtonLeaveCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonLeave obj cb after = liftIO $ do
cb' <- mkButtonLeaveCallback (buttonLeaveCallbackWrapper cb)
connectSignalFunPtr obj "leave" cb' after
type ButtonPressedCallback =
IO ()
noButtonPressedCallback :: Maybe ButtonPressedCallback
noButtonPressedCallback = Nothing
type ButtonPressedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonPressedCallback :: ButtonPressedCallbackC -> IO (FunPtr ButtonPressedCallbackC)
buttonPressedClosure :: ButtonPressedCallback -> IO Closure
buttonPressedClosure cb = newCClosure =<< mkButtonPressedCallback wrapped
where wrapped = buttonPressedCallbackWrapper cb
buttonPressedCallbackWrapper ::
ButtonPressedCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonPressedCallbackWrapper _cb _ _ = do
_cb
onButtonPressed :: (GObject a, MonadIO m) => a -> ButtonPressedCallback -> m SignalHandlerId
onButtonPressed obj cb = liftIO $ connectButtonPressed obj cb SignalConnectBefore
afterButtonPressed :: (GObject a, MonadIO m) => a -> ButtonPressedCallback -> m SignalHandlerId
afterButtonPressed obj cb = connectButtonPressed obj cb SignalConnectAfter
connectButtonPressed :: (GObject a, MonadIO m) =>
a -> ButtonPressedCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonPressed obj cb after = liftIO $ do
cb' <- mkButtonPressedCallback (buttonPressedCallbackWrapper cb)
connectSignalFunPtr obj "pressed" cb' after
type ButtonReleasedCallback =
IO ()
noButtonReleasedCallback :: Maybe ButtonReleasedCallback
noButtonReleasedCallback = Nothing
type ButtonReleasedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkButtonReleasedCallback :: ButtonReleasedCallbackC -> IO (FunPtr ButtonReleasedCallbackC)
buttonReleasedClosure :: ButtonReleasedCallback -> IO Closure
buttonReleasedClosure cb = newCClosure =<< mkButtonReleasedCallback wrapped
where wrapped = buttonReleasedCallbackWrapper cb
buttonReleasedCallbackWrapper ::
ButtonReleasedCallback ->
Ptr () ->
Ptr () ->
IO ()
buttonReleasedCallbackWrapper _cb _ _ = do
_cb
onButtonReleased :: (GObject a, MonadIO m) => a -> ButtonReleasedCallback -> m SignalHandlerId
onButtonReleased obj cb = liftIO $ connectButtonReleased obj cb SignalConnectBefore
afterButtonReleased :: (GObject a, MonadIO m) => a -> ButtonReleasedCallback -> m SignalHandlerId
afterButtonReleased obj cb = connectButtonReleased obj cb SignalConnectAfter
connectButtonReleased :: (GObject a, MonadIO m) =>
a -> ButtonReleasedCallback -> SignalConnectMode -> m SignalHandlerId
connectButtonReleased obj cb after = liftIO $ do
cb' <- mkButtonReleasedCallback (buttonReleasedCallbackWrapper cb)
connectSignalFunPtr obj "released" cb' after
getButtonAlwaysShowImage :: (MonadIO m, ButtonK o) => o -> m Bool
getButtonAlwaysShowImage obj = liftIO $ getObjectPropertyBool obj "always-show-image"
setButtonAlwaysShowImage :: (MonadIO m, ButtonK o) => o -> Bool -> m ()
setButtonAlwaysShowImage obj val = liftIO $ setObjectPropertyBool obj "always-show-image" val
constructButtonAlwaysShowImage :: Bool -> IO ([Char], GValue)
constructButtonAlwaysShowImage val = constructObjectPropertyBool "always-show-image" val
data ButtonAlwaysShowImagePropertyInfo
instance AttrInfo ButtonAlwaysShowImagePropertyInfo where
type AttrAllowedOps ButtonAlwaysShowImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonAlwaysShowImagePropertyInfo = (~) Bool
type AttrBaseTypeConstraint ButtonAlwaysShowImagePropertyInfo = ButtonK
type AttrGetType ButtonAlwaysShowImagePropertyInfo = Bool
type AttrLabel ButtonAlwaysShowImagePropertyInfo = "Button::always-show-image"
attrGet _ = getButtonAlwaysShowImage
attrSet _ = setButtonAlwaysShowImage
attrConstruct _ = constructButtonAlwaysShowImage
getButtonFocusOnClick :: (MonadIO m, ButtonK o) => o -> m Bool
getButtonFocusOnClick obj = liftIO $ getObjectPropertyBool obj "focus-on-click"
setButtonFocusOnClick :: (MonadIO m, ButtonK o) => o -> Bool -> m ()
setButtonFocusOnClick obj val = liftIO $ setObjectPropertyBool obj "focus-on-click" val
constructButtonFocusOnClick :: Bool -> IO ([Char], GValue)
constructButtonFocusOnClick val = constructObjectPropertyBool "focus-on-click" val
data ButtonFocusOnClickPropertyInfo
instance AttrInfo ButtonFocusOnClickPropertyInfo where
type AttrAllowedOps ButtonFocusOnClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonFocusOnClickPropertyInfo = (~) Bool
type AttrBaseTypeConstraint ButtonFocusOnClickPropertyInfo = ButtonK
type AttrGetType ButtonFocusOnClickPropertyInfo = Bool
type AttrLabel ButtonFocusOnClickPropertyInfo = "Button::focus-on-click"
attrGet _ = getButtonFocusOnClick
attrSet _ = setButtonFocusOnClick
attrConstruct _ = constructButtonFocusOnClick
getButtonImage :: (MonadIO m, ButtonK o) => o -> m Widget
getButtonImage obj = liftIO $ getObjectPropertyObject obj "image" Widget
setButtonImage :: (MonadIO m, ButtonK o, WidgetK a) => o -> a -> m ()
setButtonImage obj val = liftIO $ setObjectPropertyObject obj "image" val
constructButtonImage :: (WidgetK a) => a -> IO ([Char], GValue)
constructButtonImage val = constructObjectPropertyObject "image" val
data ButtonImagePropertyInfo
instance AttrInfo ButtonImagePropertyInfo where
type AttrAllowedOps ButtonImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonImagePropertyInfo = WidgetK
type AttrBaseTypeConstraint ButtonImagePropertyInfo = ButtonK
type AttrGetType ButtonImagePropertyInfo = Widget
type AttrLabel ButtonImagePropertyInfo = "Button::image"
attrGet _ = getButtonImage
attrSet _ = setButtonImage
attrConstruct _ = constructButtonImage
getButtonImagePosition :: (MonadIO m, ButtonK o) => o -> m PositionType
getButtonImagePosition obj = liftIO $ getObjectPropertyEnum obj "image-position"
setButtonImagePosition :: (MonadIO m, ButtonK o) => o -> PositionType -> m ()
setButtonImagePosition obj val = liftIO $ setObjectPropertyEnum obj "image-position" val
constructButtonImagePosition :: PositionType -> IO ([Char], GValue)
constructButtonImagePosition val = constructObjectPropertyEnum "image-position" val
data ButtonImagePositionPropertyInfo
instance AttrInfo ButtonImagePositionPropertyInfo where
type AttrAllowedOps ButtonImagePositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonImagePositionPropertyInfo = (~) PositionType
type AttrBaseTypeConstraint ButtonImagePositionPropertyInfo = ButtonK
type AttrGetType ButtonImagePositionPropertyInfo = PositionType
type AttrLabel ButtonImagePositionPropertyInfo = "Button::image-position"
attrGet _ = getButtonImagePosition
attrSet _ = setButtonImagePosition
attrConstruct _ = constructButtonImagePosition
getButtonLabel :: (MonadIO m, ButtonK o) => o -> m T.Text
getButtonLabel obj = liftIO $ getObjectPropertyString obj "label"
setButtonLabel :: (MonadIO m, ButtonK o) => o -> T.Text -> m ()
setButtonLabel obj val = liftIO $ setObjectPropertyString obj "label" val
constructButtonLabel :: T.Text -> IO ([Char], GValue)
constructButtonLabel val = constructObjectPropertyString "label" val
data ButtonLabelPropertyInfo
instance AttrInfo ButtonLabelPropertyInfo where
type AttrAllowedOps ButtonLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonLabelPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint ButtonLabelPropertyInfo = ButtonK
type AttrGetType ButtonLabelPropertyInfo = T.Text
type AttrLabel ButtonLabelPropertyInfo = "Button::label"
attrGet _ = getButtonLabel
attrSet _ = setButtonLabel
attrConstruct _ = constructButtonLabel
getButtonRelief :: (MonadIO m, ButtonK o) => o -> m ReliefStyle
getButtonRelief obj = liftIO $ getObjectPropertyEnum obj "relief"
setButtonRelief :: (MonadIO m, ButtonK o) => o -> ReliefStyle -> m ()
setButtonRelief obj val = liftIO $ setObjectPropertyEnum obj "relief" val
constructButtonRelief :: ReliefStyle -> IO ([Char], GValue)
constructButtonRelief val = constructObjectPropertyEnum "relief" val
data ButtonReliefPropertyInfo
instance AttrInfo ButtonReliefPropertyInfo where
type AttrAllowedOps ButtonReliefPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonReliefPropertyInfo = (~) ReliefStyle
type AttrBaseTypeConstraint ButtonReliefPropertyInfo = ButtonK
type AttrGetType ButtonReliefPropertyInfo = ReliefStyle
type AttrLabel ButtonReliefPropertyInfo = "Button::relief"
attrGet _ = getButtonRelief
attrSet _ = setButtonRelief
attrConstruct _ = constructButtonRelief
getButtonUseStock :: (MonadIO m, ButtonK o) => o -> m Bool
getButtonUseStock obj = liftIO $ getObjectPropertyBool obj "use-stock"
setButtonUseStock :: (MonadIO m, ButtonK o) => o -> Bool -> m ()
setButtonUseStock obj val = liftIO $ setObjectPropertyBool obj "use-stock" val
constructButtonUseStock :: Bool -> IO ([Char], GValue)
constructButtonUseStock val = constructObjectPropertyBool "use-stock" val
data ButtonUseStockPropertyInfo
instance AttrInfo ButtonUseStockPropertyInfo where
type AttrAllowedOps ButtonUseStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonUseStockPropertyInfo = (~) Bool
type AttrBaseTypeConstraint ButtonUseStockPropertyInfo = ButtonK
type AttrGetType ButtonUseStockPropertyInfo = Bool
type AttrLabel ButtonUseStockPropertyInfo = "Button::use-stock"
attrGet _ = getButtonUseStock
attrSet _ = setButtonUseStock
attrConstruct _ = constructButtonUseStock
getButtonUseUnderline :: (MonadIO m, ButtonK o) => o -> m Bool
getButtonUseUnderline obj = liftIO $ getObjectPropertyBool obj "use-underline"
setButtonUseUnderline :: (MonadIO m, ButtonK o) => o -> Bool -> m ()
setButtonUseUnderline obj val = liftIO $ setObjectPropertyBool obj "use-underline" val
constructButtonUseUnderline :: Bool -> IO ([Char], GValue)
constructButtonUseUnderline val = constructObjectPropertyBool "use-underline" val
data ButtonUseUnderlinePropertyInfo
instance AttrInfo ButtonUseUnderlinePropertyInfo where
type AttrAllowedOps ButtonUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonUseUnderlinePropertyInfo = (~) Bool
type AttrBaseTypeConstraint ButtonUseUnderlinePropertyInfo = ButtonK
type AttrGetType ButtonUseUnderlinePropertyInfo = Bool
type AttrLabel ButtonUseUnderlinePropertyInfo = "Button::use-underline"
attrGet _ = getButtonUseUnderline
attrSet _ = setButtonUseUnderline
attrConstruct _ = constructButtonUseUnderline
getButtonXalign :: (MonadIO m, ButtonK o) => o -> m Float
getButtonXalign obj = liftIO $ getObjectPropertyFloat obj "xalign"
setButtonXalign :: (MonadIO m, ButtonK o) => o -> Float -> m ()
setButtonXalign obj val = liftIO $ setObjectPropertyFloat obj "xalign" val
constructButtonXalign :: Float -> IO ([Char], GValue)
constructButtonXalign val = constructObjectPropertyFloat "xalign" val
data ButtonXalignPropertyInfo
instance AttrInfo ButtonXalignPropertyInfo where
type AttrAllowedOps ButtonXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonXalignPropertyInfo = (~) Float
type AttrBaseTypeConstraint ButtonXalignPropertyInfo = ButtonK
type AttrGetType ButtonXalignPropertyInfo = Float
type AttrLabel ButtonXalignPropertyInfo = "Button::xalign"
attrGet _ = getButtonXalign
attrSet _ = setButtonXalign
attrConstruct _ = constructButtonXalign
getButtonYalign :: (MonadIO m, ButtonK o) => o -> m Float
getButtonYalign obj = liftIO $ getObjectPropertyFloat obj "yalign"
setButtonYalign :: (MonadIO m, ButtonK o) => o -> Float -> m ()
setButtonYalign obj val = liftIO $ setObjectPropertyFloat obj "yalign" val
constructButtonYalign :: Float -> IO ([Char], GValue)
constructButtonYalign val = constructObjectPropertyFloat "yalign" val
data ButtonYalignPropertyInfo
instance AttrInfo ButtonYalignPropertyInfo where
type AttrAllowedOps ButtonYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ButtonYalignPropertyInfo = (~) Float
type AttrBaseTypeConstraint ButtonYalignPropertyInfo = ButtonK
type AttrGetType ButtonYalignPropertyInfo = Float
type AttrLabel ButtonYalignPropertyInfo = "Button::yalign"
attrGet _ = getButtonYalign
attrSet _ = setButtonYalign
attrConstruct _ = constructButtonYalign
type instance AttributeList Button = ButtonAttributeList
type ButtonAttributeList = ('[ '("action-name", ActionableActionNamePropertyInfo), '("action-target", ActionableActionTargetPropertyInfo), '("always-show-image", ButtonAlwaysShowImagePropertyInfo), '("app-paintable", WidgetAppPaintablePropertyInfo), '("border-width", ContainerBorderWidthPropertyInfo), '("can-default", WidgetCanDefaultPropertyInfo), '("can-focus", WidgetCanFocusPropertyInfo), '("child", ContainerChildPropertyInfo), '("composite-child", WidgetCompositeChildPropertyInfo), '("double-buffered", WidgetDoubleBufferedPropertyInfo), '("events", WidgetEventsPropertyInfo), '("expand", WidgetExpandPropertyInfo), '("focus-on-click", ButtonFocusOnClickPropertyInfo), '("halign", WidgetHalignPropertyInfo), '("has-default", WidgetHasDefaultPropertyInfo), '("has-focus", WidgetHasFocusPropertyInfo), '("has-tooltip", WidgetHasTooltipPropertyInfo), '("height-request", WidgetHeightRequestPropertyInfo), '("hexpand", WidgetHexpandPropertyInfo), '("hexpand-set", WidgetHexpandSetPropertyInfo), '("image", ButtonImagePropertyInfo), '("image-position", ButtonImagePositionPropertyInfo), '("is-focus", WidgetIsFocusPropertyInfo), '("label", ButtonLabelPropertyInfo), '("margin", WidgetMarginPropertyInfo), '("margin-bottom", WidgetMarginBottomPropertyInfo), '("margin-end", WidgetMarginEndPropertyInfo), '("margin-left", WidgetMarginLeftPropertyInfo), '("margin-right", WidgetMarginRightPropertyInfo), '("margin-start", WidgetMarginStartPropertyInfo), '("margin-top", WidgetMarginTopPropertyInfo), '("name", WidgetNamePropertyInfo), '("no-show-all", WidgetNoShowAllPropertyInfo), '("opacity", WidgetOpacityPropertyInfo), '("parent", WidgetParentPropertyInfo), '("receives-default", WidgetReceivesDefaultPropertyInfo), '("related-action", ActivatableRelatedActionPropertyInfo), '("relief", ButtonReliefPropertyInfo), '("resize-mode", ContainerResizeModePropertyInfo), '("scale-factor", WidgetScaleFactorPropertyInfo), '("sensitive", WidgetSensitivePropertyInfo), '("style", WidgetStylePropertyInfo), '("tooltip-markup", WidgetTooltipMarkupPropertyInfo), '("tooltip-text", WidgetTooltipTextPropertyInfo), '("use-action-appearance", ActivatableUseActionAppearancePropertyInfo), '("use-stock", ButtonUseStockPropertyInfo), '("use-underline", ButtonUseUnderlinePropertyInfo), '("valign", WidgetValignPropertyInfo), '("vexpand", WidgetVexpandPropertyInfo), '("vexpand-set", WidgetVexpandSetPropertyInfo), '("visible", WidgetVisiblePropertyInfo), '("width-request", WidgetWidthRequestPropertyInfo), '("window", WidgetWindowPropertyInfo), '("xalign", ButtonXalignPropertyInfo), '("yalign", ButtonYalignPropertyInfo)] :: [(Symbol, *)])
data ButtonActivateSignalInfo
instance SignalInfo ButtonActivateSignalInfo where
type HaskellCallbackType ButtonActivateSignalInfo = ButtonActivateCallback
connectSignal _ = connectButtonActivate
data ButtonClickedSignalInfo
instance SignalInfo ButtonClickedSignalInfo where
type HaskellCallbackType ButtonClickedSignalInfo = ButtonClickedCallback
connectSignal _ = connectButtonClicked
data ButtonEnterSignalInfo
instance SignalInfo ButtonEnterSignalInfo where
type HaskellCallbackType ButtonEnterSignalInfo = ButtonEnterCallback
connectSignal _ = connectButtonEnter
data ButtonLeaveSignalInfo
instance SignalInfo ButtonLeaveSignalInfo where
type HaskellCallbackType ButtonLeaveSignalInfo = ButtonLeaveCallback
connectSignal _ = connectButtonLeave
data ButtonPressedSignalInfo
instance SignalInfo ButtonPressedSignalInfo where
type HaskellCallbackType ButtonPressedSignalInfo = ButtonPressedCallback
connectSignal _ = connectButtonPressed
data ButtonReleasedSignalInfo
instance SignalInfo ButtonReleasedSignalInfo where
type HaskellCallbackType ButtonReleasedSignalInfo = ButtonReleasedCallback
connectSignal _ = connectButtonReleased
type instance SignalList Button = ButtonSignalList
type ButtonSignalList = ('[ '("accel-closures-changed", WidgetAccelClosuresChangedSignalInfo), '("activate", ButtonActivateSignalInfo), '("add", ContainerAddSignalInfo), '("button-press-event", WidgetButtonPressEventSignalInfo), '("button-release-event", WidgetButtonReleaseEventSignalInfo), '("can-activate-accel", WidgetCanActivateAccelSignalInfo), '("check-resize", ContainerCheckResizeSignalInfo), '("child-notify", WidgetChildNotifySignalInfo), '("clicked", ButtonClickedSignalInfo), '("composited-changed", WidgetCompositedChangedSignalInfo), '("configure-event", WidgetConfigureEventSignalInfo), '("damage-event", WidgetDamageEventSignalInfo), '("delete-event", WidgetDeleteEventSignalInfo), '("destroy", WidgetDestroySignalInfo), '("destroy-event", WidgetDestroyEventSignalInfo), '("direction-changed", WidgetDirectionChangedSignalInfo), '("drag-begin", WidgetDragBeginSignalInfo), '("drag-data-delete", WidgetDragDataDeleteSignalInfo), '("drag-data-get", WidgetDragDataGetSignalInfo), '("drag-data-received", WidgetDragDataReceivedSignalInfo), '("drag-drop", WidgetDragDropSignalInfo), '("drag-end", WidgetDragEndSignalInfo), '("drag-failed", WidgetDragFailedSignalInfo), '("drag-leave", WidgetDragLeaveSignalInfo), '("drag-motion", WidgetDragMotionSignalInfo), '("draw", WidgetDrawSignalInfo), '("enter", ButtonEnterSignalInfo), '("enter-notify-event", WidgetEnterNotifyEventSignalInfo), '("event", WidgetEventSignalInfo), '("event-after", WidgetEventAfterSignalInfo), '("focus", WidgetFocusSignalInfo), '("focus-in-event", WidgetFocusInEventSignalInfo), '("focus-out-event", WidgetFocusOutEventSignalInfo), '("grab-broken-event", WidgetGrabBrokenEventSignalInfo), '("grab-focus", WidgetGrabFocusSignalInfo), '("grab-notify", WidgetGrabNotifySignalInfo), '("hide", WidgetHideSignalInfo), '("hierarchy-changed", WidgetHierarchyChangedSignalInfo), '("key-press-event", WidgetKeyPressEventSignalInfo), '("key-release-event", WidgetKeyReleaseEventSignalInfo), '("keynav-failed", WidgetKeynavFailedSignalInfo), '("leave", ButtonLeaveSignalInfo), '("leave-notify-event", WidgetLeaveNotifyEventSignalInfo), '("map", WidgetMapSignalInfo), '("map-event", WidgetMapEventSignalInfo), '("mnemonic-activate", WidgetMnemonicActivateSignalInfo), '("motion-notify-event", WidgetMotionNotifyEventSignalInfo), '("move-focus", WidgetMoveFocusSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parent-set", WidgetParentSetSignalInfo), '("popup-menu", WidgetPopupMenuSignalInfo), '("pressed", ButtonPressedSignalInfo), '("property-notify-event", WidgetPropertyNotifyEventSignalInfo), '("proximity-in-event", WidgetProximityInEventSignalInfo), '("proximity-out-event", WidgetProximityOutEventSignalInfo), '("query-tooltip", WidgetQueryTooltipSignalInfo), '("realize", WidgetRealizeSignalInfo), '("released", ButtonReleasedSignalInfo), '("remove", ContainerRemoveSignalInfo), '("screen-changed", WidgetScreenChangedSignalInfo), '("scroll-event", WidgetScrollEventSignalInfo), '("selection-clear-event", WidgetSelectionClearEventSignalInfo), '("selection-get", WidgetSelectionGetSignalInfo), '("selection-notify-event", WidgetSelectionNotifyEventSignalInfo), '("selection-received", WidgetSelectionReceivedSignalInfo), '("selection-request-event", WidgetSelectionRequestEventSignalInfo), '("set-focus-child", ContainerSetFocusChildSignalInfo), '("show", WidgetShowSignalInfo), '("show-help", WidgetShowHelpSignalInfo), '("size-allocate", WidgetSizeAllocateSignalInfo), '("state-changed", WidgetStateChangedSignalInfo), '("state-flags-changed", WidgetStateFlagsChangedSignalInfo), '("style-set", WidgetStyleSetSignalInfo), '("style-updated", WidgetStyleUpdatedSignalInfo), '("touch-event", WidgetTouchEventSignalInfo), '("unmap", WidgetUnmapSignalInfo), '("unmap-event", WidgetUnmapEventSignalInfo), '("unrealize", WidgetUnrealizeSignalInfo), '("visibility-notify-event", WidgetVisibilityNotifyEventSignalInfo), '("window-state-event", WidgetWindowStateEventSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_button_new" gtk_button_new ::
IO (Ptr Button)
buttonNew ::
(MonadIO m) =>
m Button
buttonNew = liftIO $ do
result <- gtk_button_new
checkUnexpectedReturnNULL "gtk_button_new" result
result' <- (newObject Button) result
return result'
foreign import ccall "gtk_button_new_from_icon_name" gtk_button_new_from_icon_name ::
CString ->
Int32 ->
IO (Ptr Button)
buttonNewFromIconName ::
(MonadIO m) =>
T.Text ->
Int32 ->
m Button
buttonNewFromIconName icon_name size = liftIO $ do
icon_name' <- textToCString icon_name
result <- gtk_button_new_from_icon_name icon_name' size
checkUnexpectedReturnNULL "gtk_button_new_from_icon_name" result
result' <- (newObject Button) result
freeMem icon_name'
return result'
foreign import ccall "gtk_button_new_from_stock" gtk_button_new_from_stock ::
CString ->
IO (Ptr Button)
buttonNewFromStock ::
(MonadIO m) =>
T.Text ->
m Button
buttonNewFromStock stock_id = liftIO $ do
stock_id' <- textToCString stock_id
result <- gtk_button_new_from_stock stock_id'
checkUnexpectedReturnNULL "gtk_button_new_from_stock" result
result' <- (newObject Button) result
freeMem stock_id'
return result'
foreign import ccall "gtk_button_new_with_label" gtk_button_new_with_label ::
CString ->
IO (Ptr Button)
buttonNewWithLabel ::
(MonadIO m) =>
T.Text ->
m Button
buttonNewWithLabel label = liftIO $ do
label' <- textToCString label
result <- gtk_button_new_with_label label'
checkUnexpectedReturnNULL "gtk_button_new_with_label" result
result' <- (newObject Button) result
freeMem label'
return result'
foreign import ccall "gtk_button_new_with_mnemonic" gtk_button_new_with_mnemonic ::
CString ->
IO (Ptr Button)
buttonNewWithMnemonic ::
(MonadIO m) =>
T.Text ->
m Button
buttonNewWithMnemonic label = liftIO $ do
label' <- textToCString label
result <- gtk_button_new_with_mnemonic label'
checkUnexpectedReturnNULL "gtk_button_new_with_mnemonic" result
result' <- (newObject Button) result
freeMem label'
return result'
foreign import ccall "gtk_button_clicked" gtk_button_clicked ::
Ptr Button ->
IO ()
buttonClicked ::
(MonadIO m, ButtonK a) =>
a ->
m ()
buttonClicked _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_button_clicked _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_enter" gtk_button_enter ::
Ptr Button ->
IO ()
buttonEnter ::
(MonadIO m, ButtonK a) =>
a ->
m ()
buttonEnter _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_button_enter _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_get_alignment" gtk_button_get_alignment ::
Ptr Button ->
Ptr CFloat ->
Ptr CFloat ->
IO ()
buttonGetAlignment ::
(MonadIO m, ButtonK a) =>
a ->
m (Float,Float)
buttonGetAlignment _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
xalign <- allocMem :: IO (Ptr CFloat)
yalign <- allocMem :: IO (Ptr CFloat)
gtk_button_get_alignment _obj' xalign yalign
xalign' <- peek xalign
let xalign'' = realToFrac xalign'
yalign' <- peek yalign
let yalign'' = realToFrac yalign'
touchManagedPtr _obj
freeMem xalign
freeMem yalign
return (xalign'', yalign'')
foreign import ccall "gtk_button_get_always_show_image" gtk_button_get_always_show_image ::
Ptr Button ->
IO CInt
buttonGetAlwaysShowImage ::
(MonadIO m, ButtonK a) =>
a ->
m Bool
buttonGetAlwaysShowImage _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_always_show_image _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_event_window" gtk_button_get_event_window ::
Ptr Button ->
IO (Ptr Gdk.Window)
buttonGetEventWindow ::
(MonadIO m, ButtonK a) =>
a ->
m Gdk.Window
buttonGetEventWindow _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_event_window _obj'
checkUnexpectedReturnNULL "gtk_button_get_event_window" result
result' <- (newObject Gdk.Window) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_focus_on_click" gtk_button_get_focus_on_click ::
Ptr Button ->
IO CInt
buttonGetFocusOnClick ::
(MonadIO m, ButtonK a) =>
a ->
m Bool
buttonGetFocusOnClick _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_focus_on_click _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_image" gtk_button_get_image ::
Ptr Button ->
IO (Ptr Widget)
buttonGetImage ::
(MonadIO m, ButtonK a) =>
a ->
m Widget
buttonGetImage _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_image _obj'
checkUnexpectedReturnNULL "gtk_button_get_image" result
result' <- (newObject Widget) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_image_position" gtk_button_get_image_position ::
Ptr Button ->
IO CUInt
buttonGetImagePosition ::
(MonadIO m, ButtonK a) =>
a ->
m PositionType
buttonGetImagePosition _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_image_position _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_label" gtk_button_get_label ::
Ptr Button ->
IO CString
buttonGetLabel ::
(MonadIO m, ButtonK a) =>
a ->
m T.Text
buttonGetLabel _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_label _obj'
checkUnexpectedReturnNULL "gtk_button_get_label" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_relief" gtk_button_get_relief ::
Ptr Button ->
IO CUInt
buttonGetRelief ::
(MonadIO m, ButtonK a) =>
a ->
m ReliefStyle
buttonGetRelief _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_relief _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_use_stock" gtk_button_get_use_stock ::
Ptr Button ->
IO CInt
buttonGetUseStock ::
(MonadIO m, ButtonK a) =>
a ->
m Bool
buttonGetUseStock _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_use_stock _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_get_use_underline" gtk_button_get_use_underline ::
Ptr Button ->
IO CInt
buttonGetUseUnderline ::
(MonadIO m, ButtonK a) =>
a ->
m Bool
buttonGetUseUnderline _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_button_get_use_underline _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_button_leave" gtk_button_leave ::
Ptr Button ->
IO ()
buttonLeave ::
(MonadIO m, ButtonK a) =>
a ->
m ()
buttonLeave _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_button_leave _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_pressed" gtk_button_pressed ::
Ptr Button ->
IO ()
buttonPressed ::
(MonadIO m, ButtonK a) =>
a ->
m ()
buttonPressed _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_button_pressed _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_released" gtk_button_released ::
Ptr Button ->
IO ()
buttonReleased ::
(MonadIO m, ButtonK a) =>
a ->
m ()
buttonReleased _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_button_released _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_alignment" gtk_button_set_alignment ::
Ptr Button ->
CFloat ->
CFloat ->
IO ()
buttonSetAlignment ::
(MonadIO m, ButtonK a) =>
a ->
Float ->
Float ->
m ()
buttonSetAlignment _obj xalign yalign = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let xalign' = realToFrac xalign
let yalign' = realToFrac yalign
gtk_button_set_alignment _obj' xalign' yalign'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_always_show_image" gtk_button_set_always_show_image ::
Ptr Button ->
CInt ->
IO ()
buttonSetAlwaysShowImage ::
(MonadIO m, ButtonK a) =>
a ->
Bool ->
m ()
buttonSetAlwaysShowImage _obj always_show = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let always_show' = (fromIntegral . fromEnum) always_show
gtk_button_set_always_show_image _obj' always_show'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_focus_on_click" gtk_button_set_focus_on_click ::
Ptr Button ->
CInt ->
IO ()
buttonSetFocusOnClick ::
(MonadIO m, ButtonK a) =>
a ->
Bool ->
m ()
buttonSetFocusOnClick _obj focus_on_click = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let focus_on_click' = (fromIntegral . fromEnum) focus_on_click
gtk_button_set_focus_on_click _obj' focus_on_click'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_image" gtk_button_set_image ::
Ptr Button ->
Ptr Widget ->
IO ()
buttonSetImage ::
(MonadIO m, ButtonK a, WidgetK b) =>
a ->
b ->
m ()
buttonSetImage _obj image = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let image' = unsafeManagedPtrCastPtr image
gtk_button_set_image _obj' image'
touchManagedPtr _obj
touchManagedPtr image
return ()
foreign import ccall "gtk_button_set_image_position" gtk_button_set_image_position ::
Ptr Button ->
CUInt ->
IO ()
buttonSetImagePosition ::
(MonadIO m, ButtonK a) =>
a ->
PositionType ->
m ()
buttonSetImagePosition _obj position = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let position' = (fromIntegral . fromEnum) position
gtk_button_set_image_position _obj' position'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_label" gtk_button_set_label ::
Ptr Button ->
CString ->
IO ()
buttonSetLabel ::
(MonadIO m, ButtonK a) =>
a ->
T.Text ->
m ()
buttonSetLabel _obj label = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
label' <- textToCString label
gtk_button_set_label _obj' label'
touchManagedPtr _obj
freeMem label'
return ()
foreign import ccall "gtk_button_set_relief" gtk_button_set_relief ::
Ptr Button ->
CUInt ->
IO ()
buttonSetRelief ::
(MonadIO m, ButtonK a) =>
a ->
ReliefStyle ->
m ()
buttonSetRelief _obj relief = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let relief' = (fromIntegral . fromEnum) relief
gtk_button_set_relief _obj' relief'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_use_stock" gtk_button_set_use_stock ::
Ptr Button ->
CInt ->
IO ()
buttonSetUseStock ::
(MonadIO m, ButtonK a) =>
a ->
Bool ->
m ()
buttonSetUseStock _obj use_stock = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let use_stock' = (fromIntegral . fromEnum) use_stock
gtk_button_set_use_stock _obj' use_stock'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_button_set_use_underline" gtk_button_set_use_underline ::
Ptr Button ->
CInt ->
IO ()
buttonSetUseUnderline ::
(MonadIO m, ButtonK a) =>
a ->
Bool ->
m ()
buttonSetUseUnderline _obj use_underline = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let use_underline' = (fromIntegral . fromEnum) use_underline
gtk_button_set_use_underline _obj' use_underline'
touchManagedPtr _obj
return ()