{-# LANGUAGE FlexibleContexts #-} -- |Import this module to use the WxHaskell instance of AutoForms (called WxForm) module Graphics.UI.AF.WxForm ( module Graphics.UI.AF.General , module Graphics.UI.AF.WxForm.WxList , EC, ECCreator , wxParentProxy , SatCxt -- * GUI-layout of EC types , layoutAs, singleColumn, dualColumn, singleRow, reverseGuis , finalDepth , Parent(Parent) -- * Lifting , liftIO, WxM.io -- * ComIO handling , G.join2 -- * From WxHaskell , Wx.start , startWx , WxAct, ComH, WxM, ECCreatorD ) where import Graphics.UI.AF.WxForm.WxFormImplementation as AF import Graphics.UI.AF.WxForm.WxList import Graphics.UI.AF.WxForm.WxFilePath() import Graphics.UI.AF.WxForm.WxMaybe() import Graphics.UI.AF.WxForm.EditorComponent(layoutAs, singleColumn, dualColumn, singleRow) import Graphics.UI.AF.WxForm.WxM as WxM import qualified Graphics.UI.AF.WxForm.GenericEC as G import Graphics.UI.AF.General import Control.Monad.Trans import qualified Graphics.UI.WX as Wx -- |Tells WxForm to try to keep the GUI as small as possible. It will -- only work from this 'EC' and it's sub-components (sub-ECs). finalDepth :: EC a -> EC a finalDepth ec = updateWxM (AF.withMaxDepth (const 0)) ec startWx :: AutoForm WxAct ComH WxM SatCxt EC => String -> WxM a -> IO () startWx = startI