fltkhs-0.2.0.0: src/Fluid/Types.hs
module Types (
WidgetTree(..),
FunctionArgs(..),
Function(..),
Class(..),
Attribute(..),
Fluid,
FluidBlock(..),
UnbrokenOrBraced(..),
BracedStringParts(..),
HaskellIdentifier(..),
ModuleIdentifier(..),
PathElem(..),
Path,
PathIndexedElements,
FluidElement(..),
Name,
NameLookupResult(..),
ElementIdentifier(..),
IdentifierIndexedElements,
Type,
LookupTables,
GenerationError(..),
TakenNames(..)
) where
type Name = Maybe String
data Attribute
= Code0 [BracedStringParts]
| Code1 [BracedStringParts]
| Code2 [BracedStringParts]
| Code3 [BracedStringParts]
| Label UnbrokenOrBraced
| Callback UnbrokenOrBraced
| XYWH (Int,Int,Int,Int)
| Color Int
| Maximum Int
| Value UnbrokenOrBraced
| Box String
| Labelsize Int
| Resizable
| Visible
| Align Int
| Minimum Int
| Step Double
| SelectionColor Int
| Labeltype String
| Labelcolor Int
| Labelfont Int
| Open
| Hide
| ReturnType UnbrokenOrBraced
| Shortcut String
| Private
| UserData UnbrokenOrBraced
| UserDataType UnbrokenOrBraced
| Tooltip UnbrokenOrBraced
| Comment UnbrokenOrBraced
| Inherits String
| When Int
| Hotspot
| Modal
| Selected
| Local
| Public
| TextFont Int
| TextSize Int
| TextColor Int
| SliderSize Double
| WidgetType UnbrokenOrBraced
| Deactivate
| InSource
| InHeader
| Global
| DownBox String
| SizeRange (Int,Int,Int,Int)
| LineComment String
| AfterCode UnbrokenOrBraced
| DerivedFromClass String
| Filename UnbrokenOrBraced
| Divider
deriving (Show)
type Type = String
data WidgetTree = Group Type HaskellIdentifier [Attribute] [WidgetTree]
| Menu Type HaskellIdentifier [Attribute] [WidgetTree]
| Component Type HaskellIdentifier [Attribute]
| Code [Attribute] UnbrokenOrBraced
| StandAloneComment [Attribute] UnbrokenOrBraced
| CodeBlock UnbrokenOrBraced [Attribute] [WidgetTree]
| Version String
deriving Show
newtype FunctionArgs =
FunctionArgs (Maybe String)
deriving (Show)
data Function =
Function HaskellIdentifier
FunctionArgs
[Attribute]
[WidgetTree]
deriving (Show)
data Class =
Class HaskellIdentifier
[Attribute]
[FluidBlock]
deriving (Show)
data FluidBlock
= FluidClass Class
| FluidFunction Function
| DeclBlock [Attribute]
UnbrokenOrBraced
[FluidBlock]
| Decl [Attribute]
UnbrokenOrBraced
| Data String
[Attribute]
deriving (Show)
data UnbrokenOrBraced
= UnbrokenString String
| BracedString [BracedStringParts]
deriving (Show)
data BracedStringParts
= BareString String
| QuotedCharCode Char
| QuotedHex Integer
| QuotedOctal Integer
| QuotedChar String
| NestedBrace [BracedStringParts]
deriving (Show)
type Fluid = [FluidBlock]
data FluidElement
= BlockElement FluidBlock
| WidgetElement WidgetTree
data HaskellIdentifier
= ValidHaskell String
| InvalidHaskell String
| UnidentifiedFunction
| Unidentified
deriving (Eq,Show)
data ModuleIdentifier
= ValidModule String
| InvalidModule String
data PathElem
= D
| I
deriving (Show,Eq)
data NameLookupResult
= FoundUniquePath Path
| FoundMultiplePaths [Path]
| PathNotFound
type Path = [PathElem]
data ElementIdentifier
= ElementPath Path
| ElementName HaskellIdentifier
| ElementType Type
type PathIndexedElements = [(Path,FluidElement)]
type IdentifierIndexedElements = [([ElementIdentifier], FluidElement)]
type LookupTables = ([(HaskellIdentifier,[Path])],[(Maybe Type,[Path])],[(Maybe String,[Path])])
data GenerationError = BadModuleName String
newtype TakenNames = TakenNames [String] deriving Show