[demo] Move slider demo to own window
This commit is contained in:
parent
6d57a24f35
commit
5e3a89bf00
4 changed files with 34 additions and 34 deletions
|
@ -14,6 +14,7 @@ impl Default for Demos {
|
|||
fn default() -> Self {
|
||||
let demos: Vec<Box<dyn super::Demo>> = vec![
|
||||
Box::new(super::WidgetGallery::default()),
|
||||
Box::new(super::sliders::Sliders::default()),
|
||||
Box::new(super::input_test::InputTest::default()),
|
||||
Box::new(super::FontBook::default()),
|
||||
Box::new(super::Painting::default()),
|
||||
|
|
|
@ -15,7 +15,7 @@ pub mod font_contents_ubuntu;
|
|||
pub mod input_test;
|
||||
mod painting;
|
||||
mod scrolls;
|
||||
mod sliders;
|
||||
pub mod sliders;
|
||||
mod tests;
|
||||
pub mod toggle_switch;
|
||||
mod widget_gallery;
|
||||
|
|
|
@ -29,8 +29,24 @@ impl Default for Sliders {
|
|||
}
|
||||
}
|
||||
|
||||
impl Sliders {
|
||||
pub fn ui(&mut self, ui: &mut Ui) {
|
||||
impl super::Demo for Sliders {
|
||||
fn name(&self) -> &str {
|
||||
"⬌ Sliders"
|
||||
}
|
||||
|
||||
fn show(&mut self, ctx: &egui::CtxRef, open: &mut bool) {
|
||||
egui::Window::new(self.name())
|
||||
.open(open)
|
||||
.resizable(false)
|
||||
.show(ctx, |ui| {
|
||||
use super::View;
|
||||
self.ui(ui);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
impl super::View for Sliders {
|
||||
fn ui(&mut self, ui: &mut Ui) {
|
||||
let Self {
|
||||
min,
|
||||
max,
|
||||
|
@ -84,7 +100,7 @@ impl Sliders {
|
|||
}
|
||||
|
||||
ui.separator();
|
||||
ui.label("Demo slider range:");
|
||||
ui.label("Slider range:");
|
||||
ui.add(
|
||||
Slider::f64(min, full_range.clone())
|
||||
.logarithmic(true)
|
||||
|
|
|
@ -20,7 +20,6 @@ pub struct Widgets {
|
|||
button_enabled: bool,
|
||||
count: usize,
|
||||
radio: Enum,
|
||||
sliders: super::Sliders,
|
||||
angle: f32,
|
||||
color: Color32,
|
||||
single_line_text_input: String,
|
||||
|
@ -34,7 +33,6 @@ impl Default for Widgets {
|
|||
button_enabled: true,
|
||||
radio: Enum::First,
|
||||
count: 0,
|
||||
sliders: Default::default(),
|
||||
angle: std::f32::consts::TAU / 3.0,
|
||||
color: (Rgba::from_rgb(0.0, 1.0, 0.5) * 0.75).into(),
|
||||
single_line_text_input: "Hello World!".to_owned(),
|
||||
|
@ -79,16 +77,20 @@ impl Widgets {
|
|||
ui.label("Tooltips can be more than just simple text.")
|
||||
.on_hover_ui(tooltip_ui);
|
||||
|
||||
ui.horizontal(|ui| {
|
||||
ui.radio_value(&mut self.radio, Enum::First, "First");
|
||||
ui.radio_value(&mut self.radio, Enum::Second, "Second");
|
||||
ui.radio_value(&mut self.radio, Enum::Third, "Third");
|
||||
});
|
||||
egui::Frame::group(ui.style()).show(ui, |ui| {
|
||||
ui.label("This is a group of widgets");
|
||||
|
||||
egui::combo_box_with_label(ui, "Combo Box", format!("{:?}", self.radio), |ui| {
|
||||
ui.selectable_value(&mut self.radio, Enum::First, "First");
|
||||
ui.selectable_value(&mut self.radio, Enum::Second, "Second");
|
||||
ui.selectable_value(&mut self.radio, Enum::Third, "Third");
|
||||
ui.horizontal(|ui| {
|
||||
ui.radio_value(&mut self.radio, Enum::First, "First");
|
||||
ui.radio_value(&mut self.radio, Enum::Second, "Second");
|
||||
ui.radio_value(&mut self.radio, Enum::Third, "Third");
|
||||
});
|
||||
|
||||
egui::combo_box_with_label(ui, "Combo Box", format!("{:?}", self.radio), |ui| {
|
||||
ui.selectable_value(&mut self.radio, Enum::First, "First");
|
||||
ui.selectable_value(&mut self.radio, Enum::Second, "Second");
|
||||
ui.selectable_value(&mut self.radio, Enum::Third, "Third");
|
||||
});
|
||||
});
|
||||
|
||||
ui.checkbox(&mut self.button_enabled, "Button enabled");
|
||||
|
@ -104,25 +106,6 @@ impl Widgets {
|
|||
ui.label(format!("The button has been clicked {} times.", self.count));
|
||||
});
|
||||
|
||||
egui::Frame::group(ui.style()).show(ui, |ui| {
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("Drag this value to change it:");
|
||||
ui.add(DragValue::f64(&mut self.sliders.value).speed(0.01));
|
||||
});
|
||||
|
||||
ui.add(
|
||||
egui::Slider::f64(&mut self.sliders.value, 1.0..=100.0)
|
||||
.logarithmic(true)
|
||||
.text("A slider"),
|
||||
);
|
||||
|
||||
egui::CollapsingHeader::new("More sliders")
|
||||
.default_open(false)
|
||||
.show(ui, |ui| {
|
||||
self.sliders.ui(ui);
|
||||
});
|
||||
});
|
||||
|
||||
ui.separator();
|
||||
|
||||
ui.horizontal_for_text(TextStyle::Body, |ui| {
|
||||
|
|
Loading…
Reference in a new issue