summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/pick_list.rs61
-rw-r--r--src/widget.rs4
-rw-r--r--style/src/pick_list.rs4
-rw-r--r--style/src/theme.rs4
4 files changed, 34 insertions, 39 deletions
diff --git a/native/src/widget/pick_list.rs b/native/src/widget/pick_list.rs
index 6a2061b9..43ae7ebb 100644
--- a/native/src/widget/pick_list.rs
+++ b/native/src/widget/pick_list.rs
@@ -20,56 +20,56 @@ use std::borrow::Cow;
pub use iced_style::pick_list::{Appearance, StyleSheet};
-/// The content to the right side of the [`PickList`].
+/// The handle to the right side of the [`PickList`].
#[derive(Debug, Clone, PartialEq, Eq)]
-pub enum AccessoryContent<Renderer>
+pub enum Handle<Renderer>
where
Renderer: text::Renderer,
{
- /// Default accessory content.
- Default {
+ /// Displays an arrow icon (▼).
+ ///
+ /// This is the default.
+ Arrow {
/// Font size of the content.
size: Option<u16>,
},
- /// Custom accessory content.
+ /// A custom handle.
Custom {
- /// Font which will be used in the accessory content.
+ /// Font that will be used to display the `text`,
font: Renderer::Font,
- /// Content which will be shown.
- content: String,
+ /// Text that will be shown.
+ text: String,
/// Font size of the content.
size: Option<u16>,
},
- /// No accessory content will be shown.
+ /// No handle will be shown.
None,
}
-impl<Renderer> Default for AccessoryContent<Renderer>
+impl<Renderer> Default for Handle<Renderer>
where
Renderer: text::Renderer,
{
fn default() -> Self {
- Self::Default { size: None }
+ Self::Arrow { size: None }
}
}
-impl<Renderer> AccessoryContent<Renderer>
+impl<Renderer> Handle<Renderer>
where
Renderer: text::Renderer,
{
fn content(&self) -> Option<(Renderer::Font, String, Option<u16>)> {
match self {
- AccessoryContent::Default { size } => Some((
+ Self::Arrow { size } => Some((
Renderer::ICON_FONT,
Renderer::ARROW_DOWN_ICON.to_string(),
*size,
)),
- AccessoryContent::Custom {
- font,
- content,
- size,
- } => Some((font.clone(), content.clone(), *size)),
- AccessoryContent::None => None,
+ Self::Custom { font, text, size } => {
+ Some((font.clone(), text.clone(), *size))
+ }
+ Self::None => None,
}
}
}
@@ -90,7 +90,7 @@ where
padding: Padding,
text_size: Option<u16>,
font: Renderer::Font,
- accessory_content: AccessoryContent<Renderer>,
+ handle: Handle<Renderer>,
style: <Renderer::Theme as StyleSheet>::Style,
}
@@ -125,7 +125,7 @@ where
padding: Self::DEFAULT_PADDING,
text_size: None,
font: Default::default(),
- accessory_content: Default::default(),
+ handle: Default::default(),
style: Default::default(),
}
}
@@ -160,12 +160,9 @@ where
self
}
- /// Sets the [`AccessoryContent`] of the [`PickList`].
- pub fn accessory_content(
- mut self,
- accessory_content: AccessoryContent<Renderer>,
- ) -> Self {
- self.accessory_content = accessory_content;
+ /// Sets the [`Handle`] of the [`PickList`].
+ pub fn handle(mut self, handle: Handle<Renderer>) -> Self {
+ self.handle = handle;
self
}
@@ -279,7 +276,7 @@ where
&self.font,
self.placeholder.as_deref(),
self.selected.as_ref(),
- &self.accessory_content,
+ &self.handle,
&self.style,
)
}
@@ -581,7 +578,7 @@ pub fn draw<T, Renderer>(
font: &Renderer::Font,
placeholder: Option<&str>,
selected: Option<&T>,
- accessory_content: &AccessoryContent<Renderer>,
+ handle: &Handle<Renderer>,
style: &<Renderer::Theme as StyleSheet>::Style,
) where
Renderer: text::Renderer,
@@ -608,14 +605,14 @@ pub fn draw<T, Renderer>(
style.background,
);
- if let Some((font, content, size)) = accessory_content.content() {
+ if let Some((font, text, size)) = handle.content() {
let size = f32::from(size.unwrap_or_else(|| renderer.default_size()));
renderer.fill_text(Text {
- content: &content,
+ content: &text,
size,
font,
- color: style.accessory_content_color,
+ color: style.handle_color,
bounds: Rectangle {
x: bounds.x + bounds.width - f32::from(padding.horizontal()),
y: bounds.center_y() - size / 2.0,
diff --git a/src/widget.rs b/src/widget.rs
index 505ae799..acc9da9a 100644
--- a/src/widget.rs
+++ b/src/widget.rs
@@ -80,9 +80,7 @@ pub mod pane_grid {
pub mod pick_list {
//! Display a dropdown list of selectable values.
- pub use iced_native::widget::pick_list::{
- AccessoryContent, Appearance, StyleSheet,
- };
+ pub use iced_native::widget::pick_list::{Appearance, Handle, StyleSheet};
/// A widget allowing the selection of a single value from a list of options.
pub type PickList<'a, T, Message, Renderer = crate::Renderer> =
diff --git a/style/src/pick_list.rs b/style/src/pick_list.rs
index 877a58da..11e13b01 100644
--- a/style/src/pick_list.rs
+++ b/style/src/pick_list.rs
@@ -8,8 +8,8 @@ pub struct Appearance {
pub text_color: Color,
/// The placeholder [`Color`] of the pick list.
pub placeholder_color: Color,
- /// The accessory content [`Color`] of the pick list.
- pub accessory_content_color: Color,
+ /// The handle [`Color`] of the pick list.
+ pub handle_color: Color,
/// The [`Background`] of the pick list.
pub background: Background,
/// The border radius of the pick list.
diff --git a/style/src/theme.rs b/style/src/theme.rs
index 81bcfa67..bd0ae28e 100644
--- a/style/src/theme.rs
+++ b/style/src/theme.rs
@@ -534,7 +534,7 @@ impl pick_list::StyleSheet for Theme {
text_color: palette.background.weak.text,
background: palette.background.weak.color.into(),
placeholder_color: palette.background.strong.color,
- accessory_content_color: palette.background.weak.text,
+ handle_color: palette.background.weak.text,
border_radius: 2.0,
border_width: 1.0,
border_color: palette.background.strong.color,
@@ -553,7 +553,7 @@ impl pick_list::StyleSheet for Theme {
text_color: palette.background.weak.text,
background: palette.background.weak.color.into(),
placeholder_color: palette.background.strong.color,
- accessory_content_color: palette.background.weak.text,
+ handle_color: palette.background.weak.text,
border_radius: 2.0,
border_width: 1.0,
border_color: palette.primary.strong.color,