1#![feature(associated_type_defaults)]
7#![feature(linked_list_retain)]
8#![feature(never_type)]
9#![feature(default_field_values)]
10#![feature(unboxed_closures)]
11
12mod core;
13mod forms;
14mod inputs;
15mod types;
16mod utils;
17
18mod components;
19
20pub type BoxedShip<CID, CA, CS, CM> = Box<dyn Ship<CID, CA, CS, CM>>;
22
23pub type BoxedComponent<CID, CA, CS, CM> = Box<dyn Component<CID, CA, CS, CM>>;
25
26pub type Result<T> = std::result::Result<T, Error>;
28
29pub use crate::components::concrete::legends::Legends;
31pub use crate::components::concrete::log_viewer::LogsViewer;
32pub use crate::components::concrete::render_indicator::RenderIndicatorCpt;
33pub use crate::components::concrete::state_debugger::AppStateCpt;
34pub use crate::components::concrete::tick_indicator::TickIndicatorCpt;
35
36pub use crate::components::mock::debug::DebugWidgetMock;
37pub use crate::components::mock::indicator::IndicatorMock;
38pub use crate::components::mock::legend::LegendMock;
39pub use crate::components::mock::logs::LogsMock;
40
41pub use crate::components::concrete::forms::form::FormCpt;
42pub use crate::components::concrete::forms::inputs::check_input::CheckboxInputCpt;
43pub use crate::components::concrete::forms::inputs::core::InputBuilder;
44pub use crate::components::concrete::forms::inputs::core::InputCpt;
45pub use crate::components::concrete::forms::inputs::date_input::DateTimeInputCpt;
46pub use crate::components::concrete::forms::inputs::number_input::NumberInputCpt;
47pub use crate::components::concrete::forms::inputs::range_input::RangeInputCpt;
48pub use crate::components::concrete::forms::inputs::select_input::SelectInputCpt;
49pub use crate::components::concrete::forms::inputs::text_input::TextInputCpt;
50pub use crate::components::concrete::forms::result::FieldResult;
51pub use crate::components::concrete::forms::result::FormFieldValue;
52pub use crate::components::concrete::forms::result::FormResult;
53pub use crate::core::app::Application;
54pub use crate::core::port::Port;
55pub use crate::core::port::PortError;
56pub use crate::core::port::Ship;
57pub use crate::core::view::Component;
58pub use crate::core::view::MockComponent;
59pub use crate::core::view::MockProps;
60pub use crate::core::view::View;
61pub use crate::core::view::ViewError;
62pub use crate::forms::core::Form;
63pub use crate::forms::field::DateTimeConfig;
64pub use crate::forms::field::FormField;
65pub use crate::forms::field::FormFieldType;
66pub use crate::forms::node::FormNode;
67pub use crate::inputs::hotkeys::GlobalHotKeys;
68pub use crate::inputs::hotkeys::HotKey;
69pub use crate::inputs::legend::Legend;
70pub use crate::inputs::matcher::Matcher;
71pub use crate::types::args::AppArguments;
72pub use crate::types::args::CommonArg;
73pub use crate::types::args::EzArgs;
74pub use crate::types::args::NoClientArgs;
75pub use crate::types::cpt_ids::EzCptId;
76pub use crate::types::cpt_ids::EzCptIds;
77pub use crate::types::cpt_ids::NoClientCptId;
78pub use crate::types::error::Error;
79pub use crate::types::error::IoContext;
80pub use crate::types::error::NoClientError;
81pub use crate::types::event::EzEvent;
82pub use crate::types::event::EzMsg;
83pub use crate::types::event::NoClientMsg;
84pub use crate::types::focus_chain::FocusChain;
85pub use crate::types::ship_ids::EzShipId;
86pub use crate::types::ship_ids::EzShipIds;
87pub use crate::types::ship_ids::NoClientShipId;
88pub use crate::types::state::EzState;
89pub use crate::types::state::NoClientState;
90pub use crate::types::state::State;
91pub use crate::types::theme::BorderTheme;
92pub use crate::types::theme::Theme;
93pub use crate::utils::channel::Receiver;
94pub use crate::utils::channel::Sender;
95pub use crate::utils::layout::CustomLayout;
96pub use crate::utils::layout::LayoutItem;
97pub use crate::utils::logs::LogSwitcher;
98pub use crate::utils::props::AttrValue;
99pub use crate::utils::props::Attribute;
100pub use crate::utils::props::Props;
101pub use crate::utils::subscription::EventClause;
102pub use crate::utils::subscription::MouseEventClause;
103pub use crate::utils::subscription::SubClause;
104pub use crate::utils::subscription::SubId;
105pub use crate::utils::subscription::Subscription;