A calendar dialog for fltk-rs. It's separated into its own crate since it requires a dependency on chrono
, also the Calendar::get_date() method returns a chrono::NaiveDate.
Add the following to your Cargo.toml:
toml
[dependencies]
fltk-calendar = "0.1"
Then the dialog can be instatiated use the Calendar::new(x, y) or Calendar::default() functions. And the date can be chosen by double clicking on a cell.
```rust use fltk::{prelude::, *}; use fltk_calendar::calendar; use chrono::prelude::;
fn main() { let app = app::App::default().withscheme(app::Scheme::Gtk); let mut win = window::Window::new(100, 100, 400, 300, ""); let mut but = button::Button::new(160, 200, 80, 40, "Click"); win.end(); win.show(); but.setcallback(move || { let cal = calendar::Calendar::default(); // or calendar::Calendar::new(200, 100); let date = cal.getdate(); println!("{:?}", date); if let Some(date) = date { println!("{:?}", date.year()); println!("{:?}", date.month()); println!("{:?}", date.day()); } }); app.run().unwrap(); } ```