diff options
author | 2024-03-06 15:41:57 +0100 | |
---|---|---|
committer | 2024-03-06 15:49:06 +0100 | |
commit | 9b2fd6416775cb27af69e34fb20063d28b4314eb (patch) | |
tree | d6c55df1df5466429e0afe410acfa488600718c5 /style/src/theme.rs | |
parent | 68c8f23f02a55373db728b115c3a4360669e2b80 (diff) | |
download | iced-9b2fd6416775cb27af69e34fb20063d28b4314eb.tar.gz iced-9b2fd6416775cb27af69e34fb20063d28b4314eb.tar.bz2 iced-9b2fd6416775cb27af69e34fb20063d28b4314eb.zip |
Simplify theming for `PaneGrid` widget
Diffstat (limited to 'style/src/theme.rs')
-rw-r--r-- | style/src/theme.rs | 66 |
1 files changed, 1 insertions, 65 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs index 78995e23..cac52acd 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -6,10 +6,9 @@ pub use palette::Palette; use crate::application; use crate::core::widget::text; use crate::menu; -use crate::pane_grid; use crate::pick_list; -use crate::core::{Background, Border, Color}; +use crate::core::Border; use std::fmt; use std::rc::Rc; @@ -375,67 +374,4 @@ impl pick_list::StyleSheet for Theme { } } -/// The style of a pane grid. -#[derive(Default)] -pub enum PaneGrid { - /// The default style. - #[default] - Default, - /// A custom style. - Custom(Box<dyn pane_grid::StyleSheet<Style = Theme>>), -} - -impl pane_grid::StyleSheet for Theme { - type Style = PaneGrid; - - fn hovered_region(&self, style: &Self::Style) -> pane_grid::Appearance { - match style { - PaneGrid::Default => { - let palette = self.extended_palette(); - - pane_grid::Appearance { - background: Background::Color(Color { - a: 0.5, - ..palette.primary.base.color - }), - border: Border { - width: 2.0, - color: palette.primary.strong.color, - radius: 0.0.into(), - }, - } - } - PaneGrid::Custom(custom) => custom.hovered_region(self), - } - } - - fn picked_split(&self, style: &Self::Style) -> Option<pane_grid::Line> { - match style { - PaneGrid::Default => { - let palette = self.extended_palette(); - - Some(pane_grid::Line { - color: palette.primary.strong.color, - width: 2.0, - }) - } - PaneGrid::Custom(custom) => custom.picked_split(self), - } - } - - fn hovered_split(&self, style: &Self::Style) -> Option<pane_grid::Line> { - match style { - PaneGrid::Default => { - let palette = self.extended_palette(); - - Some(pane_grid::Line { - color: palette.primary.base.color, - width: 2.0, - }) - } - PaneGrid::Custom(custom) => custom.hovered_split(self), - } - } -} - impl text::StyleSheet for Theme {} |