MCPcopy Index your code
hub / github.com/algoscienceacademy/RustUI / rebuild_ui

Method rebuild_ui

example/basic_app.rs:27–62  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

25 }
26
27 fn rebuild_ui(&mut self) {
28 let todos = self.todos.clone();
29
30 let mut main_view = View::new()
31 .with_layout(Layout::Column);
32 main_view.style_mut().modify().gap = 10.0;
33
34 // Add title
35 let mut title = Text::new("RustUI Todo App");
36 {
37 let style = title.style_mut().modify();
38 style.font_size = 24.0;
39 style.text_align = TextAlign::Center;
40 }
41 main_view = main_view.child(title);
42
43 // Add new todo button
44 let mut add_button = Button::new("Add Todo");
45 {
46 let style = add_button.style_mut();
47 style.padding = 10.0;
48 style.background = Color::rgb(0.2, 0.6, 1.0);
49 }
50
51 let todos_ref = todos.clone();
52 add_button = add_button.on_click(move || {
53 if let Ok(mut todos) = todos_ref.lock() {
54 todos.push(Todo::default());
55 }
56 });
57
58 main_view = main_view.child(add_button);
59 main_view = main_view.child(self.build_todo_list());
60
61 self.view = Some(main_view);
62 }
63
64 fn build_todo_list(&self) -> View {
65 let todos = match self.todos.lock() {

Callers 1

newMethod · 0.45

Calls 7

with_layoutMethod · 0.80
modifyMethod · 0.80
on_clickMethod · 0.80
pushMethod · 0.80
style_mutMethod · 0.45
childMethod · 0.45
build_todo_listMethod · 0.45

Tested by

no test coverage detected