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