Sliders: use title as id if available with scroll position as fallback
This fixes the sliders in the style window
This commit is contained in:
parent
fd8180cea4
commit
b4ea51f0f9
1 changed files with 7 additions and 1 deletions
|
@ -260,6 +260,7 @@ pub struct Slider<'a> {
|
||||||
precision: usize,
|
precision: usize,
|
||||||
text_color: Option<Color>,
|
text_color: Option<Color>,
|
||||||
text_on_top: Option<bool>,
|
text_on_top: Option<bool>,
|
||||||
|
id: Option<Id>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Slider<'a> {
|
impl<'a> Slider<'a> {
|
||||||
|
@ -272,6 +273,7 @@ impl<'a> Slider<'a> {
|
||||||
precision: 3,
|
precision: 3,
|
||||||
text_on_top: None,
|
text_on_top: None,
|
||||||
text_color: None,
|
text_color: None,
|
||||||
|
id: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,6 +352,10 @@ impl<'a> Widget for Slider<'a> {
|
||||||
let font = ®ion.fonts()[text_style];
|
let font = ®ion.fonts()[text_style];
|
||||||
|
|
||||||
if let Some(text) = &self.text {
|
if let Some(text) = &self.text {
|
||||||
|
if self.id.is_none() {
|
||||||
|
self.id = Some(Id::new(text));
|
||||||
|
}
|
||||||
|
|
||||||
let text_on_top = self.text_on_top.unwrap_or_default();
|
let text_on_top = self.text_on_top.unwrap_or_default();
|
||||||
let text_color = self.text_color;
|
let text_color = self.text_color;
|
||||||
let value = (self.get_set_value)(None);
|
let value = (self.get_set_value)(None);
|
||||||
|
@ -382,7 +388,7 @@ impl<'a> Widget for Slider<'a> {
|
||||||
let height = font.line_spacing().max(region.style().clickable_diameter);
|
let height = font.line_spacing().max(region.style().clickable_diameter);
|
||||||
let handle_radius = height / 2.5;
|
let handle_radius = height / 2.5;
|
||||||
|
|
||||||
let id = region.make_position_id(); // TODO: causes problems for style settings :/
|
let id = self.id.unwrap_or_else(|| region.make_position_id());
|
||||||
|
|
||||||
let interact = region.reserve_space(
|
let interact = region.reserve_space(
|
||||||
Vec2 {
|
Vec2 {
|
||||||
|
|
Loading…
Reference in a new issue