initial commit
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/target
 | 
				
			||||||
 | 
					/.idea
 | 
				
			||||||
							
								
								
									
										4042
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4042
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										7
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "todo-app"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
 | 
					iced = "0.13.1"
 | 
				
			||||||
							
								
								
									
										65
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					use iced::widget::{button, center, column, row, text_input, Space, Text};
 | 
				
			||||||
 | 
					use iced::window::Settings;
 | 
				
			||||||
 | 
					use iced::{Center, Element, Length, Size, Theme};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn main() -> iced::Result {
 | 
				
			||||||
 | 
					    let settings = Settings {
 | 
				
			||||||
 | 
					        size: Size::new(500.0, 600.0),
 | 
				
			||||||
 | 
					        resizable: false,
 | 
				
			||||||
 | 
					        ..Settings::default()
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    iced::application("ToDo", Todo::update, Todo::view)
 | 
				
			||||||
 | 
					        .theme(Todo::theme)
 | 
				
			||||||
 | 
					        .window(settings)
 | 
				
			||||||
 | 
					        .run()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[derive(Default)]
 | 
				
			||||||
 | 
					struct Todo {
 | 
				
			||||||
 | 
					    new_task: String,
 | 
				
			||||||
 | 
					    tasks: Vec<String>,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[derive(Debug, Clone)]
 | 
				
			||||||
 | 
					enum Message {
 | 
				
			||||||
 | 
					    AddTask,
 | 
				
			||||||
 | 
					    ContentUpdated,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl Todo {
 | 
				
			||||||
 | 
					    fn update(&mut self, message: Message) {
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    fn view(&self) -> Element<Message> {
 | 
				
			||||||
 | 
					        let input = text_input("Enter new task", &self.new_task)
 | 
				
			||||||
 | 
					            .width(300)
 | 
				
			||||||
 | 
					            .size(25);
 | 
				
			||||||
 | 
					            //.read_line(self.new_task)
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        let add_btn = button(
 | 
				
			||||||
 | 
					            Text::new("Add task")
 | 
				
			||||||
 | 
					                .size(19)
 | 
				
			||||||
 | 
					                .center()
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					            .width(Length::Shrink)
 | 
				
			||||||
 | 
					            .height(40)
 | 
				
			||||||
 | 
					            .padding(10);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        let skeleton = row![input, add_btn].spacing(10);
 | 
				
			||||||
 | 
					        let r = column![
 | 
				
			||||||
 | 
					            Space::with_height(Length::Fill),
 | 
				
			||||||
 | 
					            skeleton
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					        .spacing(20)
 | 
				
			||||||
 | 
					        .align_x(Center);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        let container = center(r);
 | 
				
			||||||
 | 
					        container.into()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    fn theme(&self) -> Theme {
 | 
				
			||||||
 | 
					        Theme::Dark
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user