1use crate::file_browser::FileSelectorField;
23use crate::{
24 absm::{AbsmEventProvider, AnimationBlendingStateMachine},
25 animation::AnimationPlayer,
26 bit::BitField,
27 border::Border,
28 button::Button,
29 canvas::Canvas,
30 check_box::CheckBox,
31 color::gradient::{ColorGradientEditor, ColorGradientField, ColorPoint},
32 color::{AlphaBar, ColorField, ColorPicker, HueBar, SaturationBrightnessField},
33 curve::CurveEditor,
34 decorator::Decorator,
35 dock::{DockingManager, Tile},
36 dropdown_list::DropdownList,
37 expander::Expander,
38 file_browser::{FileBrowser, FileSelector},
39 grid::Grid,
40 image::Image,
41 inspector::Inspector,
42 key::{HotKeyEditor, KeyBindingEditor},
43 list_view::{ListView, ListViewItem},
44 menu::{ContextMenu, Menu, MenuItem},
45 messagebox::MessageBox,
46 nine_patch::NinePatch,
47 numeric::NumericUpDown,
48 path::PathEditor,
49 popup::Popup,
50 progress_bar::ProgressBar,
51 range::RangeEditor,
52 rect::RectEditor,
53 screen::Screen,
54 scroll_bar::ScrollBar,
55 scroll_panel::ScrollPanel,
56 scroll_viewer::ScrollViewer,
57 searchbar::SearchBar,
58 selector::Selector,
59 stack_panel::StackPanel,
60 tab_control::TabControl,
61 text::Text,
62 text_box::TextBox,
63 toggle::ToggleButton,
64 tree::{Tree, TreeRoot},
65 uuid::UuidEditor,
66 vec::VecEditor,
67 vector_image::VectorImage,
68 window::Window,
69 wrap_panel::WrapPanel,
70 UiNode, UserInterface,
71};
72use fyrox_graph::constructor::{GraphNodeConstructor, GraphNodeConstructorContainer};
73
74pub type WidgetConstructor = GraphNodeConstructor<UiNode, UserInterface>;
76
77pub type WidgetConstructorContainer = GraphNodeConstructorContainer<UiNode, UserInterface>;
79
80pub fn new_widget_constructor_container() -> WidgetConstructorContainer {
82 let container = WidgetConstructorContainer::default();
83
84 container.add::<BitField<u8>>();
85 container.add::<BitField<i8>>();
86 container.add::<BitField<u16>>();
87 container.add::<BitField<i16>>();
88 container.add::<BitField<u32>>();
89 container.add::<BitField<i32>>();
90 container.add::<BitField<u64>>();
91 container.add::<BitField<i64>>();
92
93 container.add::<Border>();
94 container.add::<Button>();
95 container.add::<ToggleButton>();
96 container.add::<Canvas>();
97 container.add::<CheckBox>();
98 container.add::<Decorator>();
99 container.add::<DropdownList>();
100 container.add::<Expander>();
101 container.add::<Grid>();
102 container.add::<Image>();
103 container.add::<HotKeyEditor>();
104 container.add::<KeyBindingEditor>();
105 container.add::<ListViewItem>();
106 container.add::<ListView>();
107 container.add::<Menu>();
108 container.add::<MenuItem>();
109 container.add::<ContextMenu>();
110 container.add::<MessageBox>();
111 container.add::<NinePatch>();
112
113 container.add::<NumericUpDown<u8>>();
114 container.add::<NumericUpDown<i8>>();
115 container.add::<NumericUpDown<u16>>();
116 container.add::<NumericUpDown<i16>>();
117 container.add::<NumericUpDown<u32>>();
118 container.add::<NumericUpDown<i32>>();
119 container.add::<NumericUpDown<u64>>();
120 container.add::<NumericUpDown<i64>>();
121 container.add::<NumericUpDown<f32>>();
122 container.add::<NumericUpDown<f64>>();
123
124 container.add::<RangeEditor<u8>>();
125 container.add::<RangeEditor<i8>>();
126 container.add::<RangeEditor<u16>>();
127 container.add::<RangeEditor<i16>>();
128 container.add::<RangeEditor<u32>>();
129 container.add::<RangeEditor<i32>>();
130 container.add::<RangeEditor<u64>>();
131 container.add::<RangeEditor<i64>>();
132 container.add::<RangeEditor<f32>>();
133 container.add::<RangeEditor<f64>>();
134
135 container.add::<RectEditor<u8>>();
136 container.add::<RectEditor<i8>>();
137 container.add::<RectEditor<u16>>();
138 container.add::<RectEditor<i16>>();
139 container.add::<RectEditor<u32>>();
140 container.add::<RectEditor<i32>>();
141 container.add::<RectEditor<u64>>();
142 container.add::<RectEditor<i64>>();
143 container.add::<RectEditor<f32>>();
144 container.add::<RectEditor<f64>>();
145
146 container.add::<PathEditor>();
147 container.add::<ProgressBar>();
148 container.add::<ScrollBar>();
149 container.add::<ScrollPanel>();
150 container.add::<ScrollViewer>();
151 container.add::<SearchBar>();
152 container.add::<StackPanel>();
153 container.add::<TabControl>();
154 container.add::<Tree>();
155 container.add::<TreeRoot>();
156 container.add::<UuidEditor>();
157
158 container.add::<VectorImage>();
159 container.add::<Window>();
160 container.add::<WrapPanel>();
161 container.add::<ColorGradientField>();
162 container.add::<ColorGradientEditor>();
163 container.add::<ColorPoint>();
164
165 container.add::<AlphaBar>();
166 container.add::<HueBar>();
167 container.add::<SaturationBrightnessField>();
168 container.add::<ColorPicker>();
169 container.add::<ColorField>();
170
171 container.add::<CurveEditor>();
172 container.add::<DockingManager>();
173 container.add::<Tile>();
174
175 container.add::<FileBrowser>();
176 container.add::<FileSelector>();
177 container.add::<FileSelectorField>();
178
179 container.add::<Inspector>();
180
181 container.add::<Popup>();
182
183 container.add::<VecEditor<u8, 2>>();
184 container.add::<VecEditor<i8, 2>>();
185 container.add::<VecEditor<u16, 2>>();
186 container.add::<VecEditor<i16, 2>>();
187 container.add::<VecEditor<u32, 2>>();
188 container.add::<VecEditor<i32, 2>>();
189 container.add::<VecEditor<u64, 2>>();
190 container.add::<VecEditor<i64, 2>>();
191 container.add::<VecEditor<f32, 2>>();
192 container.add::<VecEditor<f64, 2>>();
193
194 container.add::<VecEditor<u8, 3>>();
195 container.add::<VecEditor<i8, 3>>();
196 container.add::<VecEditor<u16, 3>>();
197 container.add::<VecEditor<i16, 3>>();
198 container.add::<VecEditor<u32, 3>>();
199 container.add::<VecEditor<i32, 3>>();
200 container.add::<VecEditor<u64, 3>>();
201 container.add::<VecEditor<i64, 3>>();
202 container.add::<VecEditor<f32, 3>>();
203 container.add::<VecEditor<f64, 3>>();
204
205 container.add::<VecEditor<u8, 4>>();
206 container.add::<VecEditor<i8, 4>>();
207 container.add::<VecEditor<u16, 4>>();
208 container.add::<VecEditor<i16, 4>>();
209 container.add::<VecEditor<u32, 4>>();
210 container.add::<VecEditor<i32, 4>>();
211 container.add::<VecEditor<u64, 4>>();
212 container.add::<VecEditor<i64, 4>>();
213 container.add::<VecEditor<f32, 4>>();
214 container.add::<VecEditor<f64, 4>>();
215
216 container.add::<Text>();
217 container.add::<TextBox>();
218 container.add::<Screen>();
219 container.add::<AnimationPlayer>();
220 container.add::<AnimationBlendingStateMachine>();
221 container.add::<AbsmEventProvider>();
222 container.add::<Selector>();
223
224 container
225}