-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Pango frontend for Yi editor
--   
--   Pango frontend for Yi editor
@package yi-frontend-pango
@version 0.13.7


module Yi.Frontend.Pango.Control
data Control
Control :: Yi -> IORef [TabInfo] -> IORef (Map WindowRef View) -> Control
[controlYi] :: Control -> Yi
[tabCache] :: Control -> IORef [TabInfo]
[views] :: Control -> IORef (Map WindowRef View)
newtype ControlM a
ControlM :: ReaderT Control IO a -> ControlM a
[runControl''] :: ControlM a -> ReaderT Control IO a
data Buffer
Buffer :: BufferRef -> Buffer
[fBufRef] :: Buffer -> BufferRef
data View
View :: BufferRef -> WindowRef -> DrawingArea -> PangoLayout -> Language -> FontMetrics -> ScrolledWindow -> IORef Point -> IORef (Maybe (ConnectId DrawingArea)) -> View
[viewFBufRef] :: View -> BufferRef
[windowRef] :: View -> WindowRef
[drawArea] :: View -> DrawingArea
[layout] :: View -> PangoLayout
[language] :: View -> Language
[metrics] :: View -> FontMetrics
[scrollWin] :: View -> ScrolledWindow
[shownTos] :: View -> IORef Point
[winMotionSignal] :: View -> IORef (Maybe (ConnectId DrawingArea))
data Iter
Iter :: BufferRef -> Point -> Iter
[iterFBufRef] :: Iter -> BufferRef
[point] :: Iter -> Point
startControl :: Config -> ControlM () -> IO ()
runControl :: ControlM a -> Control -> IO a
controlIO :: IO a -> ControlM a
liftYi :: YiM a -> ControlM a
getControl :: ControlM Control
newBuffer :: BufferId -> YiString -> ControlM Buffer
newView :: Buffer -> FontDescription -> ControlM View
getBuffer :: View -> Buffer
setBufferMode :: FilePath -> Buffer -> ControlM ()

-- | Perform action with current window's buffer
withCurrentBuffer :: MonadEditor m => BufferM a -> m a
setText :: Buffer -> YiString -> ControlM ()
getText :: Buffer -> Iter -> Iter -> ControlM Text

-- | Map GTK long names to Keys
keyTable :: Map Text Key
instance GHC.Base.Applicative Yi.Frontend.Pango.Control.ControlM
instance GHC.Base.Functor Yi.Frontend.Pango.Control.ControlM
instance Control.Monad.Reader.Class.MonadReader Yi.Frontend.Pango.Control.Control Yi.Frontend.Pango.Control.ControlM
instance Control.Monad.Base.MonadBase GHC.Types.IO Yi.Frontend.Pango.Control.ControlM
instance GHC.Base.Monad Yi.Frontend.Pango.Control.ControlM
instance GHC.Show.Show Yi.Frontend.Pango.Control.TabInfo


-- | This module defines a user interface implemented using gtk2hs and
--   pango for direct text rendering.
module Yi.Frontend.Pango

-- | Initialise the ui
start :: UIBoot

-- | Initialise the ui, calling a given function on the Gtk window. This
--   could be used to set additional callbacks, adjusting the window
--   layout, etc.
startGtkHook :: (Window -> IO ()) -> UIBoot
instance GHC.Show.Show Yi.Frontend.Pango.TabInfo
instance GHC.Show.Show Yi.Frontend.Pango.WinInfo
instance GHC.Classes.Ord Graphics.UI.Gtk.Gdk.Enums.Modifier

module Yi.Config.Default.Pango
configurePango :: ConfigM ()
