{-# LINE 2 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
module Graphics.UI.Gtk.Display.Statusbar (
Statusbar,
StatusbarClass,
castToStatusbar, gTypeStatusbar,
toStatusbar,
ContextId,
MessageId,
statusbarNew,
statusbarGetContextId,
statusbarPush,
statusbarPop,
statusbarRemove,
statusbarGetMessageArea,
statusbarRemoveAll,
textPopped,
textPushed,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 124 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 125 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
{-# LINE 127 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarNew :: IO Statusbar
statusbarNew :: IO Statusbar
statusbarNew =
(ForeignPtr Statusbar -> Statusbar, FinalizerPtr Statusbar)
-> IO (Ptr Statusbar) -> IO Statusbar
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Statusbar -> Statusbar, FinalizerPtr Statusbar)
forall {a}. (ForeignPtr Statusbar -> Statusbar, FinalizerPtr a)
mkStatusbar (IO (Ptr Statusbar) -> IO Statusbar)
-> IO (Ptr Statusbar) -> IO Statusbar
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr Statusbar)
-> IO (Ptr Widget) -> IO (Ptr Statusbar)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr Statusbar
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr Statusbar) (IO (Ptr Widget) -> IO (Ptr Statusbar))
-> IO (Ptr Widget) -> IO (Ptr Statusbar)
forall a b. (a -> b) -> a -> b
$
IO (Ptr Widget)
gtk_statusbar_new
{-# LINE 138 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
type ContextId = (CUInt)
{-# LINE 143 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarGetContextId :: (StatusbarClass self, GlibString string) => self
-> string
-> IO ContextId
statusbarGetContextId :: forall self string.
(StatusbarClass self, GlibString string) =>
self -> string -> IO ContextId
statusbarGetContextId self
self string
contextDescription =
string -> (CString -> IO ContextId) -> IO ContextId
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
contextDescription ((CString -> IO ContextId) -> IO ContextId)
-> (CString -> IO ContextId) -> IO ContextId
forall a b. (a -> b) -> a -> b
$ \CString
contextDescriptionPtr ->
(\(Statusbar ForeignPtr Statusbar
arg1) CString
arg2 -> ForeignPtr Statusbar
-> (Ptr Statusbar -> IO ContextId) -> IO ContextId
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO ContextId) -> IO ContextId)
-> (Ptr Statusbar -> IO ContextId) -> IO ContextId
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> CString -> IO ContextId
gtk_statusbar_get_context_id Ptr Statusbar
argPtr1 CString
arg2)
{-# LINE 155 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
CString
contextDescriptionPtr
newtype MessageId = MessageId (CUInt)
{-# LINE 159 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarPush :: (StatusbarClass self, GlibString string) => self
-> ContextId
-> string
-> IO MessageId
statusbarPush :: forall self string.
(StatusbarClass self, GlibString string) =>
self -> ContextId -> string -> IO MessageId
statusbarPush self
self ContextId
contextId string
text =
(ContextId -> MessageId) -> IO ContextId -> IO MessageId
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM ContextId -> MessageId
MessageId (IO ContextId -> IO MessageId) -> IO ContextId -> IO MessageId
forall a b. (a -> b) -> a -> b
$
string -> (CString -> IO ContextId) -> IO ContextId
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
text ((CString -> IO ContextId) -> IO ContextId)
-> (CString -> IO ContextId) -> IO ContextId
forall a b. (a -> b) -> a -> b
$ \CString
textPtr ->
(\(Statusbar ForeignPtr Statusbar
arg1) ContextId
arg2 CString
arg3 -> ForeignPtr Statusbar
-> (Ptr Statusbar -> IO ContextId) -> IO ContextId
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO ContextId) -> IO ContextId)
-> (Ptr Statusbar -> IO ContextId) -> IO ContextId
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> ContextId -> CString -> IO ContextId
gtk_statusbar_push Ptr Statusbar
argPtr1 ContextId
arg2 CString
arg3)
{-# LINE 173 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
ContextId
contextId
CString
textPtr
statusbarPop :: StatusbarClass self => self
-> ContextId
-> IO ()
statusbarPop :: forall self. StatusbarClass self => self -> ContextId -> IO ()
statusbarPop self
self ContextId
contextId =
(\(Statusbar ForeignPtr Statusbar
arg1) ContextId
arg2 -> ForeignPtr Statusbar -> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO ()) -> IO ())
-> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> ContextId -> IO ()
gtk_statusbar_pop Ptr Statusbar
argPtr1 ContextId
arg2)
{-# LINE 185 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
ContextId
contextId
statusbarRemove :: StatusbarClass self => self
-> ContextId
-> MessageId
-> IO ()
statusbarRemove :: forall self.
StatusbarClass self =>
self -> ContextId -> MessageId -> IO ()
statusbarRemove self
self ContextId
contextId (MessageId ContextId
messageId) =
(\(Statusbar ForeignPtr Statusbar
arg1) ContextId
arg2 ContextId
arg3 -> ForeignPtr Statusbar -> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO ()) -> IO ())
-> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> ContextId -> ContextId -> IO ()
gtk_statusbar_remove Ptr Statusbar
argPtr1 ContextId
arg2 ContextId
arg3)
{-# LINE 198 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
ContextId
contextId
ContextId
messageId
{-# LINE 221 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarGetMessageArea :: StatusbarClass self => self -> IO Box
statusbarGetMessageArea :: forall self. StatusbarClass self => self -> IO Box
statusbarGetMessageArea self
self =
(ForeignPtr Box -> Box, FinalizerPtr Box) -> IO (Ptr Box) -> IO Box
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Box -> Box, FinalizerPtr Box)
forall {a}. (ForeignPtr Box -> Box, FinalizerPtr a)
mkBox (IO (Ptr Box) -> IO Box) -> IO (Ptr Box) -> IO Box
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr Box) -> IO (Ptr Widget) -> IO (Ptr Box)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr Box
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr Box) (IO (Ptr Widget) -> IO (Ptr Box))
-> IO (Ptr Widget) -> IO (Ptr Box)
forall a b. (a -> b) -> a -> b
$
(\(Statusbar ForeignPtr Statusbar
arg1) -> ForeignPtr Statusbar
-> (Ptr Statusbar -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Statusbar -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> IO (Ptr Widget)
gtk_statusbar_get_message_area Ptr Statusbar
argPtr1)
{-# LINE 227 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
statusbarRemoveAll :: StatusbarClass self => self
-> ContextId
-> IO ()
statusbarRemoveAll :: forall self. StatusbarClass self => self -> ContextId -> IO ()
statusbarRemoveAll self
self ContextId
contextId =
(\(Statusbar ForeignPtr Statusbar
arg1) ContextId
arg2 -> ForeignPtr Statusbar -> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Statusbar
arg1 ((Ptr Statusbar -> IO ()) -> IO ())
-> (Ptr Statusbar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Statusbar
argPtr1 ->Ptr Statusbar -> ContextId -> IO ()
gtk_statusbar_remove_all Ptr Statusbar
argPtr1 ContextId
arg2)
{-# LINE 241 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
ContextId
contextId
{-# LINE 260 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
textPushed :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ())
textPushed :: forall self string.
(StatusbarClass self, GlibString string) =>
Signal self (ContextId -> string -> IO ())
textPushed = (Bool
-> self -> (ContextId -> string -> IO ()) -> IO (ConnectId self))
-> Signal self (ContextId -> string -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (\Bool
a self
self ContextId -> string -> IO ()
user -> SignalName
-> Bool -> self -> (Word -> string -> IO ()) -> IO (ConnectId self)
forall b' obj.
(GlibString b', GObjectClass obj) =>
SignalName
-> Bool -> obj -> (Word -> b' -> IO ()) -> IO (ConnectId obj)
connect_WORD_GLIBSTRING__NONE SignalName
"text-pushed" Bool
a self
self (\Word
w string
s -> ContextId -> string -> IO ()
user (Word -> ContextId
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word
w) string
s))
textPopped :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ())
textPopped :: forall self string.
(StatusbarClass self, GlibString string) =>
Signal self (ContextId -> string -> IO ())
textPopped = (Bool
-> self -> (ContextId -> string -> IO ()) -> IO (ConnectId self))
-> Signal self (ContextId -> string -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (\Bool
a self
self ContextId -> string -> IO ()
user -> SignalName
-> Bool -> self -> (Word -> string -> IO ()) -> IO (ConnectId self)
forall b' obj.
(GlibString b', GObjectClass obj) =>
SignalName
-> Bool -> obj -> (Word -> b' -> IO ()) -> IO (ConnectId obj)
connect_WORD_GLIBSTRING__NONE SignalName
"text-popped" Bool
a self
self (\Word
w string
s -> ContextId -> string -> IO ()
user (Word -> ContextId
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word
w) string
s))
foreign import ccall unsafe "gtk_statusbar_new"
gtk_statusbar_new :: (IO (Ptr Widget))
foreign import ccall unsafe "gtk_statusbar_get_context_id"
gtk_statusbar_get_context_id :: ((Ptr Statusbar) -> ((Ptr CChar) -> (IO CUInt)))
foreign import ccall safe "gtk_statusbar_push"
gtk_statusbar_push :: ((Ptr Statusbar) -> (CUInt -> ((Ptr CChar) -> (IO CUInt))))
foreign import ccall safe "gtk_statusbar_pop"
gtk_statusbar_pop :: ((Ptr Statusbar) -> (CUInt -> (IO ())))
foreign import ccall safe "gtk_statusbar_remove"
gtk_statusbar_remove :: ((Ptr Statusbar) -> (CUInt -> (CUInt -> (IO ()))))
foreign import ccall unsafe "gtk_statusbar_get_message_area"
gtk_statusbar_get_message_area :: ((Ptr Statusbar) -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_statusbar_remove_all"
gtk_statusbar_remove_all :: ((Ptr Statusbar) -> (CUInt -> (IO ())))