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
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License in the LICENSE-APACHE file or at:
// https://www.apache.org/licenses/LICENSE-2.0
//! Widget library
//!
//! Unlike the rest of the `kas` crate, this module is not infrastructure but
//! merely a library of useful widgets. It may be moved to a new crate in the
//! future. Any implementation can be directly copied into user code if desired.
//!
//! ## Dialogs
//!
//! - [`MessageBox`]: a simple window with a message and an "Ok" button
//!
//! ## Container widgets
//!
//! - [`Frame`]: a simple frame around a single child
//! - [`ScrollRegion`]: may be larger on the inside than the outside
//! - [`Stack`]: a stack of widgets in the same rect (TODO: `TabbedStack`)
//! - [`List`]: a dynamic row / column of children
//! - [`Splitter`]: similar to [`List`] but with resizing handles
//! - [`Window`] is usually the root widget and has special handling for
//! pop-ups and callbacks
//!
//! ## Menus
//!
//! - [`ComboBox`]: a simple pop-up selector
//! - [`MenuBar`], [`SubMenu`]: menu parent widgets
//! - [`MenuEntry`], [`MenuToggle`], [`Separator`]: menu entries
//! - [`MenuFrame`]: edges of a pop-up menu
//!
//! ## Controls
//!
//! - [`TextButton`]: a simple button
//! - [`CheckBox`]: a checkable box
//! - [`RadioBox`]: a checkable box bound to a group
//! - [`EditBox`]: a text-editing box
//! - [`ScrollBar`]: a scrollbar
//! - [`Slider`]: a slider
//!
//! ## Static widgets
//!
//! - [`Filler`]: an empty widget, sometimes used to fill space
//! - [`Separator`]: a visible bar to separate things
//! - [`Label`]: a simple text label
//!
//! ## Components
//!
//! - [`AccelLabel`]: a label which parses accelerator keys
//! - [`CheckBoxBare`]: `CheckBox` without its label
//! - [`RadioBoxBare`]: `RadioBox` without its label
//! - [`DragHandle`]: a handle (e.g. for a slider, splitter or scrollbar)
pub use TextButton;
pub use ;
pub use ComboBox;
pub use MessageBox;
pub use DragHandle;
pub use ;
pub use Filler;
pub use Frame;
pub use ;
pub use *;
pub use *;
pub use ;
pub use ScrollRegion;
pub use ScrollBar;
pub use Separator;
pub use Slider;
pub use *;
pub use ;
pub use Window;