{-# LINE 2 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
module Graphics.UI.Gtk.Buttons.LinkButton (
LinkButton,
LinkButtonClass,
castToLinkButton,
toLinkButton,
linkButtonNew,
linkButtonNewWithLabel,
linkButtonURI,
linkButtonVisited,
) 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.Types
{-# LINE 95 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
{-# LINE 97 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
linkButtonNew :: GlibString string
=> string
-> IO LinkButton
linkButtonNew :: forall string. GlibString string => string -> IO LinkButton
linkButtonNew string
uri =
(ForeignPtr LinkButton -> LinkButton, FinalizerPtr LinkButton)
-> IO (Ptr LinkButton) -> IO LinkButton
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr LinkButton -> LinkButton, FinalizerPtr LinkButton)
forall {a}. (ForeignPtr LinkButton -> LinkButton, FinalizerPtr a)
mkLinkButton (IO (Ptr LinkButton) -> IO LinkButton)
-> IO (Ptr LinkButton) -> IO LinkButton
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr LinkButton)
-> IO (Ptr Widget) -> IO (Ptr LinkButton)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr LinkButton
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr LinkButton) (IO (Ptr Widget) -> IO (Ptr LinkButton))
-> IO (Ptr Widget) -> IO (Ptr LinkButton)
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
uri ((CString -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (CString -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \CString
uriPtr ->
CString -> IO (Ptr Widget)
gtk_link_button_new
{-# LINE 113 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
uriPtr
linkButtonNewWithLabel :: GlibString string
=> string
-> string
-> IO LinkButton
linkButtonNewWithLabel :: forall string.
GlibString string =>
string -> string -> IO LinkButton
linkButtonNewWithLabel string
uri string
label =
(ForeignPtr LinkButton -> LinkButton, FinalizerPtr LinkButton)
-> IO (Ptr LinkButton) -> IO LinkButton
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr LinkButton -> LinkButton, FinalizerPtr LinkButton)
forall {a}. (ForeignPtr LinkButton -> LinkButton, FinalizerPtr a)
mkLinkButton (IO (Ptr LinkButton) -> IO LinkButton)
-> IO (Ptr LinkButton) -> IO LinkButton
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr LinkButton)
-> IO (Ptr Widget) -> IO (Ptr LinkButton)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr LinkButton
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr LinkButton) (IO (Ptr Widget) -> IO (Ptr LinkButton))
-> IO (Ptr Widget) -> IO (Ptr LinkButton)
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
label ((CString -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (CString -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \CString
labelPtr ->
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
uri ((CString -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (CString -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \CString
uriPtr ->
CString -> CString -> IO (Ptr Widget)
gtk_link_button_new_with_label
{-# LINE 127 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
uriPtr
CString
labelPtr
{-# LINE 155 "./Graphics/UI/Gtk/Buttons/LinkButton.chs" #-}
linkButtonURI :: (LinkButtonClass self, GlibString string) => Attr self string
linkButtonURI :: forall self string.
(LinkButtonClass self, GlibString string) =>
Attr self string
linkButtonURI = String -> Attr self string
forall gobj string.
(GObjectClass gobj, GlibString string) =>
String -> Attr gobj string
newAttrFromStringProperty String
"uri"
linkButtonVisited :: LinkButtonClass self => Attr self Bool
linkButtonVisited :: forall self. LinkButtonClass self => Attr self Bool
linkButtonVisited = String -> Attr self Bool
forall gobj. GObjectClass gobj => String -> Attr gobj Bool
newAttrFromBoolProperty String
"visited"
foreign import ccall safe "gtk_link_button_new"
gtk_link_button_new :: ((Ptr CChar) -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_link_button_new_with_label"
gtk_link_button_new_with_label :: ((Ptr CChar) -> ((Ptr CChar) -> (IO (Ptr Widget))))