{-# OPTIONS_GHC -Wall #-} --{-# Language ExistentialQuantification #-} --{-# Language GADTs #-} module PlotTypes ( ListViewInfo(..) , SignalTree , Getter ) where import Data.Time ( NominalDiffTime ) import qualified Data.Sequence as S import qualified Data.Tree as Tree type Getter a = Either (a -> Double) (S.Seq (a, Int, NominalDiffTime) -> [[(Double,Double)]]) -- | a tree of name/getter pairs type SignalTree a = Tree.Forest (String, String, Maybe (Getter a)) data ListViewInfo a = ListViewInfo { lviName :: String , lviType :: String , lviGetter :: Maybe (Getter a) , lviMarked :: Bool }