{-# 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 =
makeNewObject mkStatusbar $
liftM (castPtr :: Ptr Widget -> Ptr Statusbar) $
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 self contextDescription =
withUTFString contextDescription $ \contextDescriptionPtr ->
(\(Statusbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_get_context_id argPtr1 arg2)
{-# LINE 155 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
contextDescriptionPtr
newtype MessageId = MessageId (CUInt)
{-# LINE 159 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarPush :: (StatusbarClass self, GlibString string) => self
-> ContextId
-> string
-> IO MessageId
statusbarPush self contextId text =
liftM MessageId $
withUTFString text $ \textPtr ->
(\(Statusbar arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_push argPtr1 arg2 arg3)
{-# LINE 173 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
contextId
textPtr
statusbarPop :: StatusbarClass self => self
-> ContextId
-> IO ()
statusbarPop self contextId =
(\(Statusbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_pop argPtr1 arg2)
{-# LINE 185 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
contextId
statusbarRemove :: StatusbarClass self => self
-> ContextId
-> MessageId
-> IO ()
statusbarRemove self contextId (MessageId messageId) =
(\(Statusbar arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_remove argPtr1 arg2 arg3)
{-# LINE 198 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
contextId
messageId
{-# LINE 221 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
statusbarGetMessageArea :: StatusbarClass self => self -> IO Box
statusbarGetMessageArea self =
makeNewObject mkBox $
liftM (castPtr :: Ptr Widget -> Ptr Box) $
(\(Statusbar arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_get_message_area argPtr1)
{-# LINE 227 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
statusbarRemoveAll :: StatusbarClass self => self
-> ContextId
-> IO ()
statusbarRemoveAll self contextId =
(\(Statusbar arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_statusbar_remove_all argPtr1 arg2)
{-# LINE 241 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
(toStatusbar self)
contextId
{-# LINE 260 "./Graphics/UI/Gtk/Display/Statusbar.chs" #-}
textPushed :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ())
textPushed = Signal (\a self user -> connect_WORD_GLIBSTRING__NONE "text-pushed" a self (\w s -> user (fromIntegral w) s))
textPopped :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ())
textPopped = Signal (\a self user -> connect_WORD_GLIBSTRING__NONE "text-popped" a self (\w s -> user (fromIntegral w) 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 ())))