-- | The purpose of this module is simply to re-export the
-- Gtk functions and types that I use, and avoid those
-- that I don't, particularly those that conflict with
-- names in Sifflet, like Layout.
-- Just hiding these is not enough, because Graphics.UI.Gtk
-- keeps changing what it exports.
-- For example, in 0.10.5 it no longer exports Function, fill,
-- function.

module Sifflet.UI.LittleGtk
    (
     -- These are just directly re-exported from Gtk:

     -- Attributes
     AttrOp(..) -- for (:=)
    , get
    , set

    , adjustmentNew

    , boxPackEnd
    , boxPackStart
    , boxPackStartDefaults

    , Button
    , buttonNewWithLabel
    , buttonPressEvent

    , ButtonsType(..)

    , ContainerClass
    , castToContainer
    , containerAdd
    , containerChild
    , containerForeach

    , CursorType(..)
    , customStoreSetColumn

     -- Dialog
    , Dialog
    , dialogNew
    , dialogAddButton
    , dialogGetActionArea
    , dialogGetUpper     
    , dialogRun
    , dialogSetDefaultResponse
    , toDialog

    , DrawWindow
    , drawWindowInvalidateRect

    , entryCompletionInsertPrefix
    , entryCompletionModel
    , entryCompletionNew
    , entryCompletionSetTextColumn

    , Entry
    , entryGetText
    , entryGetCompletion
    , entryNew
    , entrySetCompletion
    , entrySetText

    , EventMask(..)

    , eventBoxNew

    , Expander
    , expanderNew
    , expanderSetExpanded

    , exposeEvent

    , fileChooserDialogNew
    , fileChooserGetFilename

    , FileChooserAction(..)

    , frameNew

    , grabAdd
    , grabRemove

    , HBox
    , hBoxNew

    , keyPressEvent

    , Label
    , labelNew
    , labelSetText

    , Layout
    , layoutGetDrawWindow
    , layoutNew
    , layoutPut
    , layoutSetSize

    , listStoreNew

    , makeColumnIdString

    , menuPopup

    , MessageType(..)
    , messageDialogNew

    , on
    , onDestroy
    , onSizeRequest

    , Packing(..)

    , PolicyType(PolicyAutomatic)

    , Rectangle(..)

    , renderWithDrawable

    , Requisition(..)

    , ResponseId(..)

    , ScrolledWindow
    , scrolledWindowNew
    , scrolledWindowSetPolicy

    , Statusbar
    , statusbarGetContextId
    , statusbarNew
    , statusbarPop
    , statusbarPush

    , VBox
    , vBoxNew

    , WidgetClass

    , widgetAddEvents
    , widgetClassPath
    , widgetDestroy
    , widgetGrabFocus
    , widgetSetCanFocus
    , widgetSetDoubleBuffered
    , widgetSetName
    , widgetSetSizeRequest
    , widgetShow
    , widgetShowAll
    , widgetSizeRequest
    , widgetVisible

    , Window
    , windowDeletable
    , windowMove
    , windowNew
    , windowPresent
    , windowSetDefaultSize
    , windowSetPosition
    , windowSetTitle
    , windowTitle

    , WindowPosition(..)
     -- General GTK stuff
    , initGUI
    , mainGUI
    , mainQuit

     -- These are renamed:
    , GtkFrame
    , GtkLayout
    )

where

import Graphics.UI.Gtk

type GtkFrame = Frame
type GtkLayout = Layout