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