1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#[macro_export]
macro_rules! impl_enabled {
(self.$x:ident) => {
pub fn disable(&mut self) {
self.$x = false;
}
#[must_use]
pub fn disabled(self) -> Self {
use $crate::traits::With as _;
self.with(Self::disable)
}
pub fn enable(&mut self) {
self.$x = true;
}
pub fn set_enabled(&mut self, enabled: bool) {
self.$x = enabled;
}
#[must_use]
pub fn with_enabled(mut self, is_enabled: bool) -> Self {
self.set_enabled(is_enabled);
self
}
pub fn is_enabled(&self) -> bool {
self.$x
}
};
}
mod boxed_view;
mod button;
mod canvas;
mod checkbox;
mod circular_focus;
mod debug_view;
mod dialog;
mod dummy;
mod edit_view;
mod enableable_view;
mod fixed_layout;
mod focus_tracker;
mod hideable_view;
mod last_size_view;
mod layer;
mod linear_layout;
mod list_view;
mod menu_popup;
mod menubar;
mod named_view;
mod on_event_view;
mod on_layout_view;
mod padded_view;
mod panel;
mod progress_bar;
mod radio;
mod resized_view;
mod screens_view;
mod scroll_view;
mod select_view;
mod shadow_view;
mod slider_view;
mod stack_view;
mod text_area;
mod text_view;
mod themed_view;
mod tracked_view;
pub use self::{
boxed_view::BoxedView,
button::Button,
canvas::Canvas,
checkbox::Checkbox,
circular_focus::CircularFocus,
debug_view::DebugView,
dialog::{Dialog, DialogFocus},
dummy::DummyView,
edit_view::EditView,
enableable_view::EnableableView,
fixed_layout::FixedLayout,
focus_tracker::FocusTracker,
hideable_view::HideableView,
last_size_view::LastSizeView,
layer::Layer,
linear_layout::LinearLayout,
list_view::{ListChild, ListView},
menu_popup::MenuPopup,
menubar::Menubar,
named_view::{NamedView, ViewRef},
on_event_view::OnEventView,
on_layout_view::OnLayoutView,
padded_view::PaddedView,
panel::Panel,
progress_bar::ProgressBar,
radio::{RadioButton, RadioGroup},
resized_view::ResizedView,
screens_view::ScreensView,
scroll_view::ScrollView,
select_view::SelectView,
shadow_view::ShadowView,
slider_view::SliderView,
stack_view::{LayerPosition, StackView},
text_area::TextArea,
text_view::{TextContent, TextContentRef, TextView},
themed_view::ThemedView,
tracked_view::TrackedView,
};