module Graphics.Gnuplot.Terminal.QT (
T, cons,
title, noTitle,
persist, noPersist,
) where
import qualified Graphics.Gnuplot.Private.Terminal as Terminal
import Data.Maybe (catMaybes, )
import Graphics.Gnuplot.Utility (quote, formatBool, )
data T =
Cons {
T -> Maybe String
title_ :: Maybe String,
T -> Maybe Bool
persist_ :: Maybe Bool
}
cons :: T
cons :: T
cons =
Cons :: Maybe String -> Maybe Bool -> T
Cons {
title_ :: Maybe String
title_ = Maybe String
forall a. Maybe a
Nothing,
persist_ :: Maybe Bool
persist_ = Maybe Bool
forall a. Maybe a
Nothing
}
title :: String -> T -> T
title :: String -> T -> T
title String
text T
term = T
term{title_ :: Maybe String
title_ = String -> Maybe String
forall a. a -> Maybe a
Just String
text}
noTitle :: T -> T
noTitle :: T -> T
noTitle T
term = T
term{title_ :: Maybe String
title_ = Maybe String
forall a. Maybe a
Nothing}
persist, noPersist :: T -> T
persist :: T -> T
persist T
term = T
term{persist_ :: Maybe Bool
persist_ = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True}
noPersist :: T -> T
noPersist T
term = T
term{persist_ :: Maybe Bool
persist_ = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False}
instance Terminal.C T where
canonical :: T -> T
canonical T
term =
Cons :: [String] -> [String] -> [String] -> Bool -> T
Terminal.Cons {
precommands :: [String]
Terminal.precommands = [],
options :: [String]
Terminal.options =
String
"qt" String -> [String] -> [String]
forall a. a -> [a] -> [a]
:
[Maybe String] -> [String]
forall a. [Maybe a] -> [a]
catMaybes (
((String -> String) -> Maybe String -> Maybe String
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap String -> String
quote (Maybe String -> Maybe String) -> Maybe String -> Maybe String
forall a b. (a -> b) -> a -> b
$ T -> Maybe String
title_ T
term) Maybe String -> [Maybe String] -> [Maybe String]
forall a. a -> [a] -> [a]
:
((Bool -> String) -> Maybe Bool -> Maybe String
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Bool -> String
formatBool String
"persist") (Maybe Bool -> Maybe String) -> Maybe Bool -> Maybe String
forall a b. (a -> b) -> a -> b
$ T -> Maybe Bool
persist_ T
term) Maybe String -> [Maybe String] -> [Maybe String]
forall a. a -> [a] -> [a]
:
[]),
commands :: [String]
Terminal.commands = [],
interactive :: Bool
Terminal.interactive = Bool
True
}