Deprecate old Slider constructors in favor of Slider::new

This commit is contained in:
Emil Ernerfeldt 2021-03-27 16:07:18 +01:00
parent 5481aa8d98
commit de439b6e21
16 changed files with 58 additions and 55 deletions

View file

@ -58,7 +58,7 @@ ui.horizontal(|ui| {
ui.label("Your name: "); ui.label("Your name: ");
ui.text_edit_singleline(&mut name); ui.text_edit_singleline(&mut name);
}); });
ui.add(egui::Slider::u32(&mut age, 0..=120).text("age")); ui.add(egui::Slider::new(&mut age, 0..=120).text("age"));
if ui.button("Click each year").clicked() { if ui.button("Click each year").clicked() {
age += 1; age += 1;
} }

View file

@ -28,7 +28,7 @@ impl epi::App for MyApp {
ui.label("Your name: "); ui.label("Your name: ");
ui.text_edit_singleline(name); ui.text_edit_singleline(name);
}); });
ui.add(egui::Slider::u32(age, 0..=120).text("age")); ui.add(egui::Slider::new(age, 0..=120).text("age"));
if ui.button("Click each year").clicked() { if ui.button("Click each year").clicked() {
*age += 1; *age += 1;
} }

View file

@ -61,7 +61,7 @@ impl Widget for &mut epaint::text::FontDefinitions {
for (text_style, (_family, size)) in self.family_and_size.iter_mut() { for (text_style, (_family, size)) in self.family_and_size.iter_mut() {
// TODO: radio button for family // TODO: radio button for family
ui.add( ui.add(
Slider::f32(size, 4.0..=40.0) Slider::new(size, 4.0..=40.0)
.max_decimals(0) .max_decimals(0)
.text(format!("{:?}", text_style)), .text(format!("{:?}", text_style)),
); );

View file

@ -67,7 +67,7 @@
//! ui.hyperlink("https://github.com/emilk/egui"); //! ui.hyperlink("https://github.com/emilk/egui");
//! ui.text_edit_singleline(&mut my_string); //! ui.text_edit_singleline(&mut my_string);
//! if ui.button("Click me").clicked() { } //! if ui.button("Click me").clicked() { }
//! ui.add(egui::Slider::f32(&mut my_f32, 0.0..=100.0)); //! ui.add(egui::Slider::new(&mut my_f32, 0.0..=100.0));
//! ui.add(egui::DragValue::f32(&mut my_f32)); //! ui.add(egui::DragValue::f32(&mut my_f32));
//! //!
//! ui.checkbox(&mut my_boolean, "Checkbox"); //! ui.checkbox(&mut my_boolean, "Checkbox");

View file

@ -491,7 +491,7 @@ impl Style {
ui.collapsing("📏 Spacing", |ui| spacing.ui(ui)); ui.collapsing("📏 Spacing", |ui| spacing.ui(ui));
ui.collapsing("☝ Interaction", |ui| interaction.ui(ui)); ui.collapsing("☝ Interaction", |ui| interaction.ui(ui));
ui.collapsing("🎨 Visuals", |ui| visuals.ui(ui)); ui.collapsing("🎨 Visuals", |ui| visuals.ui(ui));
ui.add(Slider::f32(animation_time, 0.0..=1.0).text("animation_time")); ui.add(Slider::new(animation_time, 0.0..=1.0).text("animation_time"));
ui.vertical_centered(|ui| reset_button(ui, self)); ui.vertical_centered(|ui| reset_button(ui, self));
} }
@ -517,12 +517,12 @@ impl Spacing {
ui.add(slider_vec2(button_padding, 0.0..=10.0, "button_padding")); ui.add(slider_vec2(button_padding, 0.0..=10.0, "button_padding"));
ui.add(slider_vec2(interact_size, 0.0..=60.0, "interact_size")) ui.add(slider_vec2(interact_size, 0.0..=60.0, "interact_size"))
.on_hover_text("Minimum size of an interactive widget"); .on_hover_text("Minimum size of an interactive widget");
ui.add(Slider::f32(indent, 0.0..=100.0).text("indent")); ui.add(Slider::new(indent, 0.0..=100.0).text("indent"));
ui.add(Slider::f32(slider_width, 0.0..=1000.0).text("slider_width")); ui.add(Slider::new(slider_width, 0.0..=1000.0).text("slider_width"));
ui.add(Slider::f32(text_edit_width, 0.0..=1000.0).text("text_edit_width")); ui.add(Slider::new(text_edit_width, 0.0..=1000.0).text("text_edit_width"));
ui.add(Slider::f32(icon_width, 0.0..=60.0).text("icon_width")); ui.add(Slider::new(icon_width, 0.0..=60.0).text("icon_width"));
ui.add(Slider::f32(icon_spacing, 0.0..=10.0).text("icon_spacing")); ui.add(Slider::new(icon_spacing, 0.0..=10.0).text("icon_spacing"));
ui.add(Slider::f32(tooltip_width, 0.0..=1000.0).text("tooltip_width")); ui.add(Slider::new(tooltip_width, 0.0..=1000.0).text("tooltip_width"));
ui.vertical_centered(|ui| reset_button(ui, self)); ui.vertical_centered(|ui| reset_button(ui, self));
} }
@ -535,9 +535,9 @@ impl Interaction {
resize_grab_radius_corner, resize_grab_radius_corner,
show_tooltips_only_when_still, show_tooltips_only_when_still,
} = self; } = self;
ui.add(Slider::f32(resize_grab_radius_side, 0.0..=20.0).text("resize_grab_radius_side")); ui.add(Slider::new(resize_grab_radius_side, 0.0..=20.0).text("resize_grab_radius_side"));
ui.add( ui.add(
Slider::f32(resize_grab_radius_corner, 0.0..=20.0).text("resize_grab_radius_corner"), Slider::new(resize_grab_radius_corner, 0.0..=20.0).text("resize_grab_radius_corner"),
); );
ui.checkbox( ui.checkbox(
show_tooltips_only_when_still, show_tooltips_only_when_still,
@ -599,9 +599,9 @@ impl WidgetVisuals {
ui_color(ui, bg_fill, "bg_fill"); ui_color(ui, bg_fill, "bg_fill");
stroke_ui(ui, bg_stroke, "bg_stroke"); stroke_ui(ui, bg_stroke, "bg_stroke");
ui.add(Slider::f32(corner_radius, 0.0..=10.0).text("corner_radius")); ui.add(Slider::new(corner_radius, 0.0..=10.0).text("corner_radius"));
stroke_ui(ui, fg_stroke, "fg_stroke (text)"); stroke_ui(ui, fg_stroke, "fg_stroke (text)");
ui.add(Slider::f32(expansion, -5.0..=5.0).text("expansion")); ui.add(Slider::new(expansion, -5.0..=5.0).text("expansion"));
} }
} }
@ -669,7 +669,7 @@ impl Visuals {
// Common shortcuts // Common shortcuts
ui_color(ui, &mut widgets.noninteractive.bg_fill, "Fill"); ui_color(ui, &mut widgets.noninteractive.bg_fill, "Fill");
stroke_ui(ui, &mut widgets.noninteractive.bg_stroke, "Outline"); stroke_ui(ui, &mut widgets.noninteractive.bg_stroke, "Outline");
ui.add(Slider::f32(window_corner_radius, 0.0..=20.0).text("Corner Radius")); ui.add(Slider::new(window_corner_radius, 0.0..=20.0).text("Corner Radius"));
shadow_ui(ui, window_shadow, "Shadow"); shadow_ui(ui, window_shadow, "Shadow");
}); });
ui_color( ui_color(
@ -681,10 +681,10 @@ impl Visuals {
ui_color(ui, extreme_bg_color, "extreme_bg_color"); ui_color(ui, extreme_bg_color, "extreme_bg_color");
ui_color(ui, hyperlink_color, "hyperlink_color"); ui_color(ui, hyperlink_color, "hyperlink_color");
ui_color(ui, code_bg_color, "code_bg_color"); ui_color(ui, code_bg_color, "code_bg_color");
ui.add(Slider::f32(resize_corner_size, 0.0..=20.0).text("resize_corner_size")); ui.add(Slider::new(resize_corner_size, 0.0..=20.0).text("resize_corner_size"));
ui.add(Slider::f32(text_cursor_width, 0.0..=2.0).text("text_cursor_width")); ui.add(Slider::new(text_cursor_width, 0.0..=2.0).text("text_cursor_width"));
ui.checkbox(text_cursor_preview, "text_cursor_preview"); ui.checkbox(text_cursor_preview, "text_cursor_preview");
ui.add(Slider::f32(clip_rect_margin, 0.0..=20.0).text("clip_rect_margin")); ui.add(Slider::new(clip_rect_margin, 0.0..=20.0).text("clip_rect_margin"));
ui.group(|ui| { ui.group(|ui| {
ui.label("DEBUG:"); ui.label("DEBUG:");
@ -712,8 +712,8 @@ fn slider_vec2<'a>(
) -> impl Widget + 'a { ) -> impl Widget + 'a {
move |ui: &mut crate::Ui| { move |ui: &mut crate::Ui| {
ui.horizontal(|ui| { ui.horizontal(|ui| {
ui.add(Slider::f32(&mut value.x, range.clone()).text("w")); ui.add(Slider::new(&mut value.x, range.clone()).text("w"));
ui.add(Slider::f32(&mut value.y, range.clone()).text("h")); ui.add(Slider::new(&mut value.y, range.clone()).text("h"));
ui.label(text); ui.label(text);
}) })
.response .response

View file

@ -784,7 +784,7 @@ impl Ui {
/// ``` /// ```
/// # let mut ui = egui::Ui::__test(); /// # let mut ui = egui::Ui::__test();
/// # let mut my_value = 42; /// # let mut my_value = 42;
/// let response = ui.add(egui::Slider::i32(&mut my_value, 0..=100)); /// let response = ui.add(egui::Slider::new(&mut my_value, 0..=100));
/// response.on_hover_text("Drag me!"); /// response.on_hover_text("Drag me!");
/// ``` /// ```
pub fn add(&mut self, widget: impl Widget) -> Response { pub fn add(&mut self, widget: impl Widget) -> Response {

View file

@ -48,8 +48,8 @@ pub trait Widget {
/// pub fn slider_vec2(value: &mut egui::Vec2) -> impl egui::Widget + '_ { /// pub fn slider_vec2(value: &mut egui::Vec2) -> impl egui::Widget + '_ {
/// move |ui: &mut egui::Ui| { /// move |ui: &mut egui::Ui| {
/// ui.horizontal(|ui| { /// ui.horizontal(|ui| {
/// ui.add(egui::Slider::f32(&mut value.x, 0.0..=1.0).text("x")); /// ui.add(egui::Slider::new(&mut value.x, 0.0..=1.0).text("x"));
/// ui.add(egui::Slider::f32(&mut value.y, 0.0..=1.0).text("y")); /// ui.add(egui::Slider::new(&mut value.y, 0.0..=1.0).text("y"));
/// }) /// })
/// .response /// .response
/// } /// }

View file

@ -47,7 +47,7 @@ struct SliderSpec {
/// ``` /// ```
/// # let ui = &mut egui::Ui::__test(); /// # let ui = &mut egui::Ui::__test();
/// # let mut my_f32: f32 = 0.0; /// # let mut my_f32: f32 = 0.0;
/// ui.add(egui::Slider::f32(&mut my_f32, 0.0..=100.0).text("My value")); /// ui.add(egui::Slider::new(&mut my_f32, 0.0..=100.0).text("My value"));
/// ``` /// ```
#[must_use = "You should put this widget in an ui with `ui.add(widget);`"] #[must_use = "You should put this widget in an ui with `ui.add(widget);`"]
pub struct Slider<'a> { pub struct Slider<'a> {
@ -67,6 +67,7 @@ pub struct Slider<'a> {
macro_rules! impl_integer_constructor { macro_rules! impl_integer_constructor {
($int:ident) => { ($int:ident) => {
#[deprecated = "Use Slider::new instead"]
pub fn $int(value: &'a mut $int, range: RangeInclusive<$int>) -> Self { pub fn $int(value: &'a mut $int, range: RangeInclusive<$int>) -> Self {
let range_f64 = (*range.start() as f64)..=(*range.end() as f64); let range_f64 = (*range.start() as f64)..=(*range.end() as f64);
Self::from_get_set(range_f64, move |v: Option<f64>| { Self::from_get_set(range_f64, move |v: Option<f64>| {
@ -97,6 +98,7 @@ impl<'a> Slider<'a> {
} }
} }
#[deprecated = "Use Slider::new instead"]
pub fn f32(value: &'a mut f32, range: RangeInclusive<f32>) -> Self { pub fn f32(value: &'a mut f32, range: RangeInclusive<f32>) -> Self {
let range_f64 = (*range.start() as f64)..=(*range.end() as f64); let range_f64 = (*range.start() as f64)..=(*range.end() as f64);
Self::from_get_set(range_f64, move |v: Option<f64>| { Self::from_get_set(range_f64, move |v: Option<f64>| {
@ -107,6 +109,7 @@ impl<'a> Slider<'a> {
}) })
} }
#[deprecated = "Use Slider::new instead"]
pub fn f64(value: &'a mut f64, range: RangeInclusive<f64>) -> Self { pub fn f64(value: &'a mut f64, range: RangeInclusive<f64>) -> Self {
Self::from_get_set(range, move |v: Option<f64>| { Self::from_get_set(range, move |v: Option<f64>| {
if let Some(v) = v { if let Some(v) = v {

View file

@ -58,7 +58,7 @@ impl View for DemoWindow {
.show(ui, |ui| self.tree.ui(ui)); .show(ui, |ui| self.tree.ui(ui));
ui.collapsing("Columns", |ui| { ui.collapsing("Columns", |ui| {
ui.add(Slider::usize(&mut self.num_columns, 1..=10).text("Columns")); ui.add(Slider::new(&mut self.num_columns, 1..=10).text("Columns"));
ui.columns(self.num_columns, |cols| { ui.columns(self.num_columns, |cols| {
for (i, col) in cols.iter_mut().enumerate() { for (i, col) in cols.iter_mut().enumerate() {
col.label(format!("Column {} out of {}", i + 1, self.num_columns)); col.label(format!("Column {} out of {}", i + 1, self.num_columns));
@ -198,11 +198,11 @@ impl Default for BoxPainting {
impl BoxPainting { impl BoxPainting {
pub fn ui(&mut self, ui: &mut Ui) { pub fn ui(&mut self, ui: &mut Ui) {
ui.add(Slider::f32(&mut self.size.x, 0.0..=500.0).text("width")); ui.add(Slider::new(&mut self.size.x, 0.0..=500.0).text("width"));
ui.add(Slider::f32(&mut self.size.y, 0.0..=500.0).text("height")); ui.add(Slider::new(&mut self.size.y, 0.0..=500.0).text("height"));
ui.add(Slider::f32(&mut self.corner_radius, 0.0..=50.0).text("corner_radius")); ui.add(Slider::new(&mut self.corner_radius, 0.0..=50.0).text("corner_radius"));
ui.add(Slider::f32(&mut self.stroke_width, 0.0..=10.0).text("stroke_width")); ui.add(Slider::new(&mut self.stroke_width, 0.0..=10.0).text("stroke_width"));
ui.add(Slider::usize(&mut self.num_boxes, 0..=8).text("num_boxes")); ui.add(Slider::new(&mut self.num_boxes, 0..=8).text("num_boxes"));
ui.horizontal_wrapped(|ui| { ui.horizontal_wrapped(|ui| {
for _ in 0..self.num_boxes { for _ in 0..self.num_boxes {

View file

@ -119,10 +119,10 @@ impl LayoutTest {
if self.main_wrap { if self.main_wrap {
if self.main_dir.is_horizontal() { if self.main_dir.is_horizontal() {
ui.add(Slider::f32(&mut self.wrap_row_height, 0.0..=200.0).text("Row height")); ui.add(Slider::new(&mut self.wrap_row_height, 0.0..=200.0).text("Row height"));
} else { } else {
ui.add( ui.add(
Slider::f32(&mut self.wrap_column_width, 0.0..=200.0).text("Column width"), Slider::new(&mut self.wrap_column_width, 0.0..=200.0).text("Column width"),
); );
} }
} }

View file

@ -47,7 +47,7 @@ impl super::View for Scrolling {
ui.horizontal(|ui| { ui.horizontal(|ui| {
ui.label("Scroll to a specific item index:"); ui.label("Scroll to a specific item index:");
track_item |= ui track_item |= ui
.add(Slider::usize(&mut self.track_item, 1..=50).text("Track Item")) .add(Slider::new(&mut self.track_item, 1..=50).text("Track Item"))
.dragged(); .dragged();
}); });

View file

@ -73,7 +73,7 @@ impl super::View for Sliders {
if *integer { if *integer {
let mut value_i32 = *value as i32; let mut value_i32 = *value as i32;
ui.add( ui.add(
Slider::i32(&mut value_i32, (*min as i32)..=(*max as i32)) Slider::new(&mut value_i32, (*min as i32)..=(*max as i32))
.logarithmic(*logarithmic) .logarithmic(*logarithmic)
.clamp_to_range(*clamp_to_range) .clamp_to_range(*clamp_to_range)
.smart_aim(*smart_aim) .smart_aim(*smart_aim)
@ -82,7 +82,7 @@ impl super::View for Sliders {
*value = value_i32 as f64; *value = value_i32 as f64;
} else { } else {
ui.add( ui.add(
Slider::f64(value, (*min)..=(*max)) Slider::new(value, (*min)..=(*max))
.logarithmic(*logarithmic) .logarithmic(*logarithmic)
.clamp_to_range(*clamp_to_range) .clamp_to_range(*clamp_to_range)
.smart_aim(*smart_aim) .smart_aim(*smart_aim)
@ -102,13 +102,13 @@ impl super::View for Sliders {
ui.separator(); ui.separator();
ui.label("Slider range:"); ui.label("Slider range:");
ui.add( ui.add(
Slider::f64(min, type_min..=type_max) Slider::new(min, type_min..=type_max)
.logarithmic(true) .logarithmic(true)
.smart_aim(*smart_aim) .smart_aim(*smart_aim)
.text("left"), .text("left"),
); );
ui.add( ui.add(
Slider::f64(max, type_min..=type_max) Slider::new(max, type_min..=type_max)
.logarithmic(true) .logarithmic(true)
.smart_aim(*smart_aim) .smart_aim(*smart_aim)
.text("right"), .text("right"),

View file

@ -140,13 +140,13 @@ impl super::View for ManualLayoutTest {
}); });
egui::Grid::new("pos_size").show(ui, |ui| { egui::Grid::new("pos_size").show(ui, |ui| {
ui.label("Widget position:"); ui.label("Widget position:");
ui.add(egui::Slider::f32(&mut widget_offset.x, 0.0..=400.0)); ui.add(egui::Slider::new(&mut widget_offset.x, 0.0..=400.0));
ui.add(egui::Slider::f32(&mut widget_offset.y, 0.0..=400.0)); ui.add(egui::Slider::new(&mut widget_offset.y, 0.0..=400.0));
ui.end_row(); ui.end_row();
ui.label("Widget size:"); ui.label("Widget size:");
ui.add(egui::Slider::f32(&mut widget_size.x, 0.0..=400.0)); ui.add(egui::Slider::new(&mut widget_size.x, 0.0..=400.0));
ui.add(egui::Slider::f32(&mut widget_size.y, 0.0..=400.0)); ui.add(egui::Slider::new(&mut widget_size.y, 0.0..=400.0));
ui.end_row(); ui.end_row();
}); });
@ -207,13 +207,13 @@ impl super::Demo for TableTest {
impl super::View for TableTest { impl super::View for TableTest {
fn ui(&mut self, ui: &mut egui::Ui) { fn ui(&mut self, ui: &mut egui::Ui) {
ui.add( ui.add(
egui::Slider::f32(&mut self.min_col_width, 0.0..=400.0).text("Minimum column width"), egui::Slider::new(&mut self.min_col_width, 0.0..=400.0).text("Minimum column width"),
); );
ui.add( ui.add(
egui::Slider::f32(&mut self.max_col_width, 0.0..=400.0).text("Maximum column width"), egui::Slider::new(&mut self.max_col_width, 0.0..=400.0).text("Maximum column width"),
); );
ui.add(egui::Slider::usize(&mut self.num_cols, 0..=5).text("Columns")); ui.add(egui::Slider::new(&mut self.num_cols, 0..=5).text("Columns"));
ui.add(egui::Slider::usize(&mut self.num_rows, 0..=20).text("Rows")); ui.add(egui::Slider::new(&mut self.num_rows, 0..=20).text("Rows"));
ui.separator(); ui.separator();

View file

@ -147,7 +147,7 @@ impl WidgetGallery {
ui.end_row(); ui.end_row();
ui.add(doc_link_label("Slider", "Slider")); ui.add(doc_link_label("Slider", "Slider"));
ui.add(egui::Slider::f32(scalar, 0.0..=360.0).suffix("°")); ui.add(egui::Slider::new(scalar, 0.0..=360.0).suffix("°"));
ui.end_row(); ui.end_row();
ui.add(doc_link_label("DragValue", "DragValue")); ui.add(doc_link_label("DragValue", "DragValue"));

View file

@ -84,12 +84,12 @@ impl FractalClock {
ui.label(format!("Painted line count: {}", self.line_count)); ui.label(format!("Painted line count: {}", self.line_count));
ui.checkbox(&mut self.paused, "Paused"); ui.checkbox(&mut self.paused, "Paused");
ui.add(Slider::f32(&mut self.zoom, 0.0..=1.0).text("zoom")); ui.add(Slider::new(&mut self.zoom, 0.0..=1.0).text("zoom"));
ui.add(Slider::f32(&mut self.start_line_width, 0.0..=5.0).text("Start line width")); ui.add(Slider::new(&mut self.start_line_width, 0.0..=5.0).text("Start line width"));
ui.add(Slider::usize(&mut self.depth, 0..=14).text("depth")); ui.add(Slider::new(&mut self.depth, 0..=14).text("depth"));
ui.add(Slider::f32(&mut self.length_factor, 0.0..=1.0).text("length factor")); ui.add(Slider::new(&mut self.length_factor, 0.0..=1.0).text("length factor"));
ui.add(Slider::f32(&mut self.luminance_factor, 0.0..=1.0).text("luminance factor")); ui.add(Slider::new(&mut self.luminance_factor, 0.0..=1.0).text("luminance factor"));
ui.add(Slider::f32(&mut self.width_factor, 0.0..=1.0).text("width factor")); ui.add(Slider::new(&mut self.width_factor, 0.0..=1.0).text("width factor"));
egui::reset_button(ui, self); egui::reset_button(ui, self);

View file

@ -293,7 +293,7 @@ impl BackendPanel {
ui.separator(); ui.separator();
ui.add( ui.add(
egui::Slider::f32(&mut self.max_size_points_ui.x, 512.0..=f32::INFINITY) egui::Slider::new(&mut self.max_size_points_ui.x, 512.0..=f32::INFINITY)
.logarithmic(true) .logarithmic(true)
.largest_finite(8192.0) .largest_finite(8192.0)
.text("Max width"), .text("Max width"),
@ -350,7 +350,7 @@ impl BackendPanel {
ui.horizontal(|ui| { ui.horizontal(|ui| {
ui.spacing_mut().slider_width = 90.0; ui.spacing_mut().slider_width = 90.0;
ui.add( ui.add(
egui::Slider::f32(pixels_per_point, 0.5..=5.0) egui::Slider::new(pixels_per_point, 0.5..=5.0)
.logarithmic(true) .logarithmic(true)
.text("Scale"), .text("Scale"),
) )