summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2021-07-22 20:32:43 +0700
committerLibravatar GitHub <noreply@github.com>2021-07-22 20:32:43 +0700
commitf076649fbb575ee036ab0b3f4511690e3379c115 (patch)
tree805377d47609364a579597c1c3966250d4f2e03a /graphics
parenta2b1ba522a8b90a2e539fff5936c798efc3f3807 (diff)
parenta866f8742e4ddf5714455519790fed0f961fad66 (diff)
downloadiced-f076649fbb575ee036ab0b3f4511690e3379c115.tar.gz
iced-f076649fbb575ee036ab0b3f4511690e3379c115.tar.bz2
iced-f076649fbb575ee036ab0b3f4511690e3379c115.zip
Merge pull request #888 from Ace4896/picklist-placeholder
Add Placeholders to PickList
Diffstat (limited to 'graphics')
-rw-r--r--graphics/src/widget/pick_list.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/graphics/src/widget/pick_list.rs b/graphics/src/widget/pick_list.rs
index 32dfbdf9..88a590b5 100644
--- a/graphics/src/widget/pick_list.rs
+++ b/graphics/src/widget/pick_list.rs
@@ -31,12 +31,14 @@ where
bounds: Rectangle,
cursor_position: Point,
selected: Option<String>,
+ placeholder: Option<&str>,
padding: Padding,
text_size: u16,
font: Font,
style: &Box<dyn StyleSheet>,
) -> Self::Output {
let is_mouse_over = bounds.contains(cursor_position);
+ let is_selected = selected.is_some();
let style = if is_mouse_over {
style.hovered()
@@ -68,12 +70,16 @@ where
(
Primitive::Group {
- primitives: if let Some(label) = selected {
+ primitives: if let Some(label) =
+ selected.or_else(|| placeholder.map(str::to_string))
+ {
let label = Primitive::Text {
content: label,
size: f32::from(text_size),
font,
- color: style.text_color,
+ color: is_selected
+ .then(|| style.text_color)
+ .unwrap_or(style.placeholder_color),
bounds: Rectangle {
x: bounds.x + f32::from(padding.left),
y: bounds.center_y(),