| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Types
Description
Core data types for the RESTman TUI.
AppS is the top-level application state. It is threaded through the Brick event loop and
holds all mutable information: the focused widget, editor contents, the HTTP connection
manager, and the last rendered response image.
AppR is the resource name type used to identify named Brick widgets (editors, viewports,
etc.).
See also Lib for the functions that manipulate these types.
Synopsis
- data AppS = AppS {
- focus :: AppR
- methodEditor :: !(Editor Method AppR)
- overlayState :: !(Maybe OverlayS)
- urlEditor :: !(Editor String AppR)
- lastResponse :: !Image
- useDefaultHeaders :: !Bool
- customHeaders :: ![(Bool, Header)]
- headerEditor :: !(Maybe (Editor Text AppR))
- payload :: !(Maybe ByteString)
- connManager :: !Manager
- data OverlayS = OverlayS {}
- data AppR
- data CustomHeaderR = MkCustomHeaderR {
- listIndex :: !Int
- column :: !CustomHeaderColumn
- data CustomHeaderColumn
- data RangeInAlign
- type VertAlign = RangeInAlign
- type WideAlign = RangeInAlign
- left :: VertAlign
- top :: VertAlign
Global Types for TUI manipulation
Constructors
| AppS | |
Fields
| |
State of the UI overlay, which is currently just the "pop-up" for the method selector.
Constructors
| OverlayS | |
Fields
| |
Application Resource Name — identifies every named widget in the Brick widget tree.
Constructors
| MethodEditor | The single-line editor for the HTTP method string. |
| UrlEditor | The single-line editor for the target URL. |
| DefaultHeadersToggle | The checkbox-like widget for toggling default header use. |
| ExistingCustomHeader CustomHeaderR | One cell within the custom-headers table. |
| AddCustomHeader | The |
| ResponseBodyView | The scrollable viewport that shows the response body. |
| MethodSelector | The pop-up list used to pick an HTTP method. |
data CustomHeaderR Source #
Resource name for a single cell in the custom-headers table.
listIndex selects the row (0-based index into customHeaders of AppS) and column
selects which of the three cells in that row has focus.
Constructors
| MkCustomHeaderR | |
Fields
| |
Instances
| Show CustomHeaderR Source # | |
Defined in Types Methods showsPrec :: Int -> CustomHeaderR -> ShowS # show :: CustomHeaderR -> String # showList :: [CustomHeaderR] -> ShowS # | |
| Eq CustomHeaderR Source # | |
Defined in Types Methods (==) :: CustomHeaderR -> CustomHeaderR -> Bool # (/=) :: CustomHeaderR -> CustomHeaderR -> Bool # | |
| Ord CustomHeaderR Source # | |
Defined in Types Methods compare :: CustomHeaderR -> CustomHeaderR -> Ordering # (<) :: CustomHeaderR -> CustomHeaderR -> Bool # (<=) :: CustomHeaderR -> CustomHeaderR -> Bool # (>) :: CustomHeaderR -> CustomHeaderR -> Bool # (>=) :: CustomHeaderR -> CustomHeaderR -> Bool # max :: CustomHeaderR -> CustomHeaderR -> CustomHeaderR # min :: CustomHeaderR -> CustomHeaderR -> CustomHeaderR # | |
data CustomHeaderColumn Source #
Which column of a custom-header row has focus.
Constructors
| ActiveToggle | The enabled/disabled checkbox column. |
| NameEditor | The header-name editor column. |
| ValueEditor | The header-value editor column. |
Instances
| Show CustomHeaderColumn Source # | |
Defined in Types Methods showsPrec :: Int -> CustomHeaderColumn -> ShowS # show :: CustomHeaderColumn -> String # showList :: [CustomHeaderColumn] -> ShowS # | |
| Eq CustomHeaderColumn Source # | |
Defined in Types Methods (==) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # (/=) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # | |
| Ord CustomHeaderColumn Source # | |
Defined in Types Methods compare :: CustomHeaderColumn -> CustomHeaderColumn -> Ordering # (<) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # (<=) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # (>) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # (>=) :: CustomHeaderColumn -> CustomHeaderColumn -> Bool # max :: CustomHeaderColumn -> CustomHeaderColumn -> CustomHeaderColumn # min :: CustomHeaderColumn -> CustomHeaderColumn -> CustomHeaderColumn # | |
Range Ord-like types and helpers
data RangeInAlign Source #
Alignment of one range strictly within another range both over a discete, totally ordered set.
Constructors
| Min | min of both ranges match |
| MidL | inner midpoint as close as possible to, but less than or equal to outer midpoint |
| MidG | inner midpoint as close as possible to, but greater than or equal to outer midpoint |
| Max | max of both ranges match |
Instances
| Show RangeInAlign Source # | |
Defined in Types Methods showsPrec :: Int -> RangeInAlign -> ShowS # show :: RangeInAlign -> String # showList :: [RangeInAlign] -> ShowS # | |
| Eq RangeInAlign Source # | |
Defined in Types | |
| Ord RangeInAlign Source # | |
Defined in Types Methods compare :: RangeInAlign -> RangeInAlign -> Ordering # (<) :: RangeInAlign -> RangeInAlign -> Bool # (<=) :: RangeInAlign -> RangeInAlign -> Bool # (>) :: RangeInAlign -> RangeInAlign -> Bool # (>=) :: RangeInAlign -> RangeInAlign -> Bool # max :: RangeInAlign -> RangeInAlign -> RangeInAlign # min :: RangeInAlign -> RangeInAlign -> RangeInAlign # | |
type VertAlign = RangeInAlign Source #
Vertical alignment
type WideAlign = RangeInAlign Source #
Wide-ways ("horizonal") alignment