iced_widget/pane_grid/
controls.rs1use crate::container;
2use crate::core::{self, Element};
3
4pub struct Controls<
8 'a,
9 Message,
10 Theme = crate::Theme,
11 Renderer = crate::Renderer,
12> where
13 Theme: container::Catalog,
14 Renderer: core::Renderer,
15{
16 pub(super) full: Element<'a, Message, Theme, Renderer>,
17 pub(super) compact: Option<Element<'a, Message, Theme, Renderer>>,
18}
19
20impl<'a, Message, Theme, Renderer> Controls<'a, Message, Theme, Renderer>
21where
22 Theme: container::Catalog,
23 Renderer: core::Renderer,
24{
25 pub fn new(
27 content: impl Into<Element<'a, Message, Theme, Renderer>>,
28 ) -> Self {
29 Self {
30 full: content.into(),
31 compact: None,
32 }
33 }
34
35 pub fn dynamic(
39 full: impl Into<Element<'a, Message, Theme, Renderer>>,
40 compact: impl Into<Element<'a, Message, Theme, Renderer>>,
41 ) -> Self {
42 Self {
43 full: full.into(),
44 compact: Some(compact.into()),
45 }
46 }
47}
48
49impl<'a, Message, Theme, Renderer> From<Element<'a, Message, Theme, Renderer>>
50 for Controls<'a, Message, Theme, Renderer>
51where
52 Theme: container::Catalog,
53 Renderer: core::Renderer,
54{
55 fn from(value: Element<'a, Message, Theme, Renderer>) -> Self {
56 Self::new(value)
57 }
58}