chore: add rustfmt config
This commit is contained in:
parent
9abc4d483b
commit
9c2a86a8f4
98 changed files with 419 additions and 540 deletions
|
|
@ -1,8 +1,6 @@
|
|||
use crate::{
|
||||
Apply, Element, fl,
|
||||
iced::{Alignment, Length},
|
||||
widget::{self, list},
|
||||
};
|
||||
use crate::iced::{Alignment, Length};
|
||||
use crate::widget::{self, list};
|
||||
use crate::{Apply, Element, fl};
|
||||
use std::rc::Rc;
|
||||
|
||||
#[derive(Debug, Default, Clone, derive_setters::Setters)]
|
||||
|
|
|
|||
|
|
@ -3,13 +3,10 @@
|
|||
use iced::Size;
|
||||
use iced::widget::Container;
|
||||
use iced_core::event::Event;
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::Tree;
|
||||
use iced_core::{
|
||||
Alignment, Clipboard, Element, Layout, Length, Padding, Rectangle, Shell, Vector, Widget,
|
||||
layout, mouse, overlay, renderer,
|
||||
};
|
||||
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
//! Autosize Container, which will resize the window to its contents.
|
||||
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::{Id, Operation, Tree};
|
||||
use iced_core::{Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget};
|
||||
use iced_core::{
|
||||
Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse, overlay,
|
||||
renderer,
|
||||
};
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
||||
pub fn autosize<'a, Message: 'static, Theme, E>(
|
||||
|
|
|
|||
|
|
@ -3,9 +3,13 @@
|
|||
|
||||
use super::{Builder, ButtonClass};
|
||||
use crate::Element;
|
||||
use crate::widget::{icon::Handle, tooltip};
|
||||
use crate::widget::icon::Handle;
|
||||
use crate::widget::tooltip;
|
||||
use apply::Apply;
|
||||
use iced_core::{Alignment, Length, Padding, font::Weight, text::LineHeight, widget::Id};
|
||||
use iced_core::font::Weight;
|
||||
use iced_core::text::LineHeight;
|
||||
use iced_core::widget::Id;
|
||||
use iced_core::{Alignment, Length, Padding};
|
||||
use std::borrow::Cow;
|
||||
|
||||
pub type Button<'a, Message> = Builder<'a, Message, Icon>;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@
|
|||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use super::Builder;
|
||||
use crate::{
|
||||
Element,
|
||||
widget::{self, image::Handle},
|
||||
};
|
||||
use iced_core::{Length, Padding, font::Weight, widget::Id};
|
||||
use crate::Element;
|
||||
use crate::widget::image::Handle;
|
||||
use crate::widget::{self};
|
||||
use iced_core::font::Weight;
|
||||
use iced_core::widget::Id;
|
||||
use iced_core::{Length, Padding};
|
||||
use std::borrow::Cow;
|
||||
|
||||
pub type Button<'a, Message> = Builder<'a, Message, Image<'a, Handle, Message>>;
|
||||
|
|
|
|||
|
|
@ -3,14 +3,15 @@
|
|||
|
||||
//! Hyperlink button widget
|
||||
|
||||
use super::Builder;
|
||||
use super::ButtonClass;
|
||||
use super::{Builder, ButtonClass};
|
||||
use crate::Element;
|
||||
use crate::prelude::*;
|
||||
use crate::widget::icon::{self, Handle};
|
||||
use crate::widget::{button, row, tooltip};
|
||||
use iced_core::font::Weight;
|
||||
use iced_core::text::LineHeight;
|
||||
use iced_core::{Alignment, Length, Padding, font::Weight, widget::Id};
|
||||
use iced_core::widget::Id;
|
||||
use iced_core::{Alignment, Length, Padding};
|
||||
use std::borrow::Cow;
|
||||
|
||||
pub type Button<'a, Message> = Builder<'a, Message, Hyperlink>;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
//! Change the apperance of a button.
|
||||
use iced_core::{Background, Color, Vector, border::Radius};
|
||||
use iced_core::border::Radius;
|
||||
use iced_core::{Background, Color, Vector};
|
||||
|
||||
use crate::theme::THEME;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,10 @@
|
|||
use super::{Builder, ButtonClass};
|
||||
use crate::widget::{icon, row, tooltip};
|
||||
use crate::{Apply, Element};
|
||||
use iced_core::{Alignment, Length, Padding, font::Weight, text::LineHeight, widget::Id};
|
||||
use iced_core::font::Weight;
|
||||
use iced_core::text::LineHeight;
|
||||
use iced_core::widget::Id;
|
||||
use iced_core::{Alignment, Length, Padding};
|
||||
use std::borrow::Cow;
|
||||
|
||||
pub type Button<'a, Message> = Builder<'a, Message, Text>;
|
||||
|
|
|
|||
|
|
@ -11,15 +11,12 @@ use iced_runtime::{Action, Task, keyboard, task};
|
|||
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::renderer::{self, Quad, Renderer};
|
||||
use iced_core::touch;
|
||||
use iced_core::widget::Operation;
|
||||
use iced_core::widget::tree::{self, Tree};
|
||||
use iced_core::{
|
||||
Background, Clipboard, Color, Layout, Length, Padding, Point, Rectangle, Shell, Vector, Widget,
|
||||
Background, Border, Clipboard, Color, Layout, Length, Padding, Point, Rectangle, Shadow, Shell,
|
||||
Vector, Widget, layout, mouse, overlay, svg, touch,
|
||||
};
|
||||
use iced_core::{Border, mouse};
|
||||
use iced_core::{Shadow, overlay};
|
||||
use iced_core::{layout, svg};
|
||||
use iced_renderer::core::widget::operation;
|
||||
|
||||
use crate::theme::THEME;
|
||||
|
|
@ -647,10 +644,8 @@ impl<'a, Message: 'a + Clone> Widget<Message, crate::Theme, crate::Renderer>
|
|||
state: &Tree,
|
||||
p: mouse::Cursor,
|
||||
) -> iced_accessibility::A11yTree {
|
||||
use iced_accessibility::{
|
||||
A11yNode, A11yTree,
|
||||
accesskit::{Action, Node, NodeId, Rect, Role},
|
||||
};
|
||||
use iced_accessibility::accesskit::{Action, Node, NodeId, Rect, Role};
|
||||
use iced_accessibility::{A11yNode, A11yTree};
|
||||
// TODO why is state None sometimes?
|
||||
if matches!(state.state, iced_core::widget::tree::State::None) {
|
||||
tracing::info!("Button state is missing.");
|
||||
|
|
|
|||
|
|
@ -8,10 +8,8 @@ use crate::widget::{button, column, grid, icon, row, text};
|
|||
use apply::Apply;
|
||||
use iced::alignment::Vertical;
|
||||
use iced_core::{Alignment, Length};
|
||||
use jiff::{
|
||||
ToSpan,
|
||||
civil::{Date, Weekday},
|
||||
};
|
||||
use jiff::ToSpan;
|
||||
use jiff::civil::{Date, Weekday};
|
||||
|
||||
/// A widget that displays an interactive calendar.
|
||||
pub fn calendar<M>(
|
||||
|
|
|
|||
|
|
@ -1,23 +1,18 @@
|
|||
//! An expandable stack of cards
|
||||
use std::time::Duration;
|
||||
|
||||
use crate::{
|
||||
anim,
|
||||
widget::{
|
||||
button,
|
||||
card::style::Style,
|
||||
column,
|
||||
icon::{self, Handle},
|
||||
row, text,
|
||||
},
|
||||
};
|
||||
use crate::anim;
|
||||
use crate::widget::card::style::Style;
|
||||
use crate::widget::icon::{self, Handle};
|
||||
use crate::widget::{button, column, row, text};
|
||||
use float_cmp::approx_eq;
|
||||
use iced::widget;
|
||||
use iced_core::{
|
||||
Border, Element, Event, Length, Shadow, Size, Vector, Widget, border::Radius, id::Id,
|
||||
layout::Node, renderer::Quad, widget::Tree,
|
||||
};
|
||||
use iced_core::{widget::tree, window};
|
||||
use iced_core::border::Radius;
|
||||
use iced_core::id::Id;
|
||||
use iced_core::layout::Node;
|
||||
use iced_core::renderer::Quad;
|
||||
use iced_core::widget::{Tree, tree};
|
||||
use iced_core::{Border, Element, Event, Length, Shadow, Size, Vector, Widget, window};
|
||||
|
||||
const ICON_SIZE: u16 = 16;
|
||||
const TOP_SPACING: u16 = 4;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,9 @@ use std::time::{Duration, Instant};
|
|||
use crate::Element;
|
||||
use crate::theme::iced::Slider;
|
||||
use crate::theme::{Button, THEME};
|
||||
use crate::widget::{button::Catalog, container, segmented_button::Entity, slider};
|
||||
use crate::widget::button::Catalog;
|
||||
use crate::widget::segmented_button::Entity;
|
||||
use crate::widget::{container, slider};
|
||||
use derive_setters::Setters;
|
||||
use iced::Task;
|
||||
use iced_core::event::{self, Event};
|
||||
|
|
@ -25,10 +27,8 @@ use iced_core::{
|
|||
};
|
||||
|
||||
use iced_widget::slider::HandleShape;
|
||||
use iced_widget::{
|
||||
Row, canvas, column, row, scrollable,
|
||||
space::{horizontal, vertical},
|
||||
};
|
||||
use iced_widget::space::{horizontal, vertical};
|
||||
use iced_widget::{Row, canvas, column, row, scrollable};
|
||||
use palette::{FromColor, RgbHue};
|
||||
|
||||
use super::divider::horizontal;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@ use crate::Element;
|
|||
|
||||
use iced::advanced::layout::{self, Layout};
|
||||
use iced::advanced::widget::{self, Operation};
|
||||
use iced::advanced::{Clipboard, Shell};
|
||||
use iced::advanced::{overlay, renderer};
|
||||
use iced::advanced::{Clipboard, Shell, overlay, renderer};
|
||||
use iced::{Event, Point, Size, mouse};
|
||||
use iced_core::{Renderer, touch};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@ use crate::widget::{self, LayerContainer, button, column, container, icon, row,
|
|||
use crate::{Apply, Element, Renderer, Theme, fl};
|
||||
use std::borrow::Cow;
|
||||
|
||||
use iced_core::Alignment;
|
||||
use iced_core::event::Event;
|
||||
use iced_core::widget::{Operation, Tree};
|
||||
use iced_core::{
|
||||
Clipboard, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse,
|
||||
Alignment, Clipboard, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse,
|
||||
overlay as iced_overlay, renderer,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -81,7 +81,8 @@ impl<Message: Clone + 'static> ContextMenu<'_, Message> {
|
|||
my_state: &mut LocalState,
|
||||
) {
|
||||
if self.window_id != window::Id::NONE && self.on_surface_action.is_some() {
|
||||
use crate::{surface::action::destroy_popup, widget::menu::Menu};
|
||||
use crate::surface::action::destroy_popup;
|
||||
use crate::widget::menu::Menu;
|
||||
use iced_runtime::platform_specific::wayland::popup::{
|
||||
SctkPopupSettings, SctkPositioner,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
use crate::{
|
||||
Element,
|
||||
iced::{Length, Pixels},
|
||||
style, theme, widget,
|
||||
};
|
||||
use crate::iced::{Length, Pixels};
|
||||
use crate::{Element, style, theme, widget};
|
||||
use std::borrow::Cow;
|
||||
|
||||
pub fn dialog<'a, Message>() -> Dialog<'a, Message> {
|
||||
|
|
|
|||
|
|
@ -1,29 +1,17 @@
|
|||
use std::{
|
||||
borrow::Cow,
|
||||
sync::atomic::{AtomicU64, Ordering},
|
||||
};
|
||||
use std::borrow::Cow;
|
||||
use std::sync::atomic::{AtomicU64, Ordering};
|
||||
|
||||
use iced::Vector;
|
||||
|
||||
use crate::{
|
||||
Element,
|
||||
widget::{Id, Widget},
|
||||
};
|
||||
use crate::Element;
|
||||
use crate::widget::{Id, Widget};
|
||||
|
||||
use iced::{
|
||||
Event, Length, Rectangle,
|
||||
clipboard::{
|
||||
dnd::{self, DndAction, DndDestinationRectangle, DndEvent, OfferEvent},
|
||||
mime::AllowedMimeTypes,
|
||||
},
|
||||
event,
|
||||
id::Internal,
|
||||
mouse, overlay,
|
||||
};
|
||||
use iced_core::{
|
||||
self, Clipboard, Shell, layout,
|
||||
widget::{Tree, tree},
|
||||
};
|
||||
use iced::clipboard::dnd::{self, DndAction, DndDestinationRectangle, DndEvent, OfferEvent};
|
||||
use iced::clipboard::mime::AllowedMimeTypes;
|
||||
use iced::id::Internal;
|
||||
use iced::{Event, Length, Rectangle, event, mouse, overlay};
|
||||
use iced_core::widget::{Tree, tree};
|
||||
use iced_core::{self, Clipboard, Shell, layout};
|
||||
|
||||
pub fn dnd_destination<'a, Message: 'static>(
|
||||
child: impl Into<Element<'a, Message>>,
|
||||
|
|
|
|||
|
|
@ -1,20 +1,14 @@
|
|||
use std::any::Any;
|
||||
|
||||
use iced_core::{widget::Operation, window};
|
||||
use iced_core::widget::Operation;
|
||||
use iced_core::window;
|
||||
|
||||
use crate::{
|
||||
Element,
|
||||
widget::{Id, Widget, container},
|
||||
};
|
||||
use iced::{
|
||||
Event, Length, Point, Rectangle, Vector,
|
||||
clipboard::dnd::{DndAction, DndEvent, SourceEvent},
|
||||
event, mouse, overlay,
|
||||
};
|
||||
use iced_core::{
|
||||
self, Clipboard, Shell, layout, renderer,
|
||||
widget::{Tree, tree},
|
||||
};
|
||||
use crate::Element;
|
||||
use crate::widget::{Id, Widget, container};
|
||||
use iced::clipboard::dnd::{DndAction, DndEvent, SourceEvent};
|
||||
use iced::{Event, Length, Point, Rectangle, Vector, event, mouse, overlay};
|
||||
use iced_core::widget::{Tree, tree};
|
||||
use iced_core::{self, Clipboard, Shell, layout, renderer};
|
||||
|
||||
pub fn dnd_source<
|
||||
'a,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
// SPDX-License-Identifier: MPL-2.0 AND MIT
|
||||
|
||||
//! Change the appearance of menus.
|
||||
use iced_core::{Background, Color, border::Radius};
|
||||
use iced_core::border::Radius;
|
||||
use iced_core::{Background, Color};
|
||||
|
||||
/// The appearance of a menu.
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ use iced_core::event::{self, Event};
|
|||
use iced_core::text::{self, Paragraph, Text};
|
||||
use iced_core::widget::tree::{self, Tree};
|
||||
use iced_core::{
|
||||
Clipboard, Layout, Length, Padding, Pixels, Rectangle, Shell, Size, Vector, Widget,
|
||||
Clipboard, Layout, Length, Padding, Pixels, Rectangle, Shadow, Shell, Size, Vector, Widget,
|
||||
alignment, keyboard, layout, mouse, overlay, renderer, svg, touch,
|
||||
};
|
||||
use iced_core::{Shadow, alignment, keyboard, layout, mouse, overlay, renderer, svg, touch};
|
||||
use iced_widget::pick_list;
|
||||
use std::ffi::OsStr;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ use iced_core::event::{self, Event};
|
|||
use iced_core::text::{self, Paragraph, Text};
|
||||
use iced_core::widget::tree::{self, Tree};
|
||||
use iced_core::{
|
||||
Clipboard, Layout, Length, Padding, Pixels, Rectangle, Shell, Size, Vector, Widget,
|
||||
Clipboard, Layout, Length, Padding, Pixels, Rectangle, Shadow, Shell, Size, Vector, Widget,
|
||||
alignment, keyboard, layout, mouse, overlay, renderer, svg, touch,
|
||||
};
|
||||
use iced_core::{Shadow, alignment, keyboard, layout, mouse, overlay, renderer, svg, touch};
|
||||
use iced_widget::pick_list::{self, Catalog};
|
||||
use std::borrow::Cow;
|
||||
use std::ffi::OsStr;
|
||||
|
|
|
|||
|
|
@ -2,14 +2,12 @@
|
|||
//! Based on <https://github.com/tarkah/iced_gif/>
|
||||
|
||||
use std::ffi::OsStr;
|
||||
use std::fmt;
|
||||
use std::io;
|
||||
use std::path::Path;
|
||||
use std::time::{Duration, Instant};
|
||||
use std::{fmt, io};
|
||||
|
||||
use ::image as image_rs;
|
||||
use iced::Task;
|
||||
use iced::mouse;
|
||||
use iced::{Task, mouse};
|
||||
use iced_core::image::Renderer as ImageRenderer;
|
||||
use iced_core::mouse::Cursor;
|
||||
use iced_core::widget::{Tree, tree};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ use crate::cosmic_theme::{Density, Spacing};
|
|||
use crate::{Element, theme, widget};
|
||||
use apply::Apply;
|
||||
use derive_setters::Setters;
|
||||
use iced_core::{Length, Size, Vector, Widget, layout, text, widget::tree};
|
||||
use iced_core::widget::tree;
|
||||
use iced_core::{Length, Size, Vector, Widget, layout, text};
|
||||
use std::borrow::Cow;
|
||||
|
||||
#[must_use]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use super::{Handle, Icon};
|
||||
use std::{borrow::Cow, ffi::OsStr, path::PathBuf, sync::Arc};
|
||||
use std::borrow::Cow;
|
||||
use std::ffi::OsStr;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::Arc;
|
||||
|
||||
#[derive(Debug, Clone, Default, Hash)]
|
||||
/// Fallback icon to use if the icon was not found.
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::{Id, Operation, Tree};
|
||||
use iced_core::{Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget};
|
||||
use iced_core::{
|
||||
Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse, overlay,
|
||||
renderer,
|
||||
};
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
||||
pub fn id_container<'a, Message: 'static, Theme, E>(
|
||||
|
|
|
|||
|
|
@ -2,13 +2,10 @@ use crate::Theme;
|
|||
use cosmic_theme::LayeredTheme;
|
||||
use iced::widget::Container;
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::Tree;
|
||||
use iced_core::{
|
||||
Alignment, Clipboard, Element, Layout, Length, Padding, Rectangle, Shell, Vector, Widget,
|
||||
layout, mouse, overlay, renderer,
|
||||
};
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use crate::widget::container::Catalog;
|
||||
use crate::widget::{button, column, container, divider, row, space::vertical};
|
||||
use crate::widget::space::vertical;
|
||||
use crate::widget::{button, column, container, divider, row};
|
||||
use crate::{Apply, Element, theme};
|
||||
use iced::{Length, Padding};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
// From iced_aw, license MIT
|
||||
|
||||
use iced_core::{Widget, widget::Tree};
|
||||
use iced_widget::core::{
|
||||
Alignment, Element, Padding, Point, Size,
|
||||
layout::{Limits, Node},
|
||||
renderer,
|
||||
};
|
||||
use iced_core::Widget;
|
||||
use iced_core::widget::Tree;
|
||||
use iced_widget::core::layout::{Limits, Node};
|
||||
use iced_widget::core::{Alignment, Element, Padding, Point, Size, renderer};
|
||||
|
||||
use crate::widget::RcElementWrapper;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
// From iced_aw, license MIT
|
||||
|
||||
//! A widget that handles menu trees
|
||||
use std::{collections::HashMap, sync::Arc};
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
use super::{
|
||||
menu_inner::{
|
||||
CloseCondition, Direction, ItemHeight, ItemWidth, Menu, MenuState, PathHighlight,
|
||||
},
|
||||
menu_tree::MenuTree,
|
||||
use super::menu_inner::{
|
||||
CloseCondition, Direction, ItemHeight, ItemWidth, Menu, MenuState, PathHighlight,
|
||||
};
|
||||
use super::menu_tree::MenuTree;
|
||||
use crate::Renderer;
|
||||
#[cfg(all(
|
||||
feature = "multi-window",
|
||||
feature = "wayland",
|
||||
|
|
@ -17,26 +17,21 @@ use super::{
|
|||
feature = "surface-message"
|
||||
))]
|
||||
use crate::app::cosmic::{WINDOWING_SYSTEM, WindowingSystem};
|
||||
use crate::{
|
||||
Renderer,
|
||||
style::menu_bar::StyleSheet,
|
||||
widget::{
|
||||
RcWrapper,
|
||||
dropdown::menu::{self, State},
|
||||
menu::menu_inner::init_root_menu,
|
||||
},
|
||||
};
|
||||
use crate::style::menu_bar::StyleSheet;
|
||||
use crate::widget::RcWrapper;
|
||||
use crate::widget::dropdown::menu::{self, State};
|
||||
use crate::widget::menu::menu_inner::init_root_menu;
|
||||
|
||||
use iced::{Point, Shadow, Vector, event::Status, window};
|
||||
use iced::event::Status;
|
||||
use iced::{Point, Shadow, Vector, window};
|
||||
use iced_core::Border;
|
||||
use iced_widget::core::layout::{Limits, Node};
|
||||
use iced_widget::core::mouse::{self, Cursor};
|
||||
use iced_widget::core::renderer::{self, Renderer as IcedRenderer};
|
||||
use iced_widget::core::widget::{Tree, tree};
|
||||
use iced_widget::core::{
|
||||
Alignment, Clipboard, Element, Layout, Length, Padding, Rectangle, Shell, Widget, event,
|
||||
layout::{Limits, Node},
|
||||
mouse::{self, Cursor},
|
||||
overlay,
|
||||
renderer::{self, Renderer as IcedRenderer},
|
||||
touch,
|
||||
widget::{Tree, tree},
|
||||
overlay, touch,
|
||||
};
|
||||
|
||||
/// A `MenuBar` collects `MenuTree`s and handles all the layout, event processing, and drawing.
|
||||
|
|
@ -590,7 +585,8 @@ where
|
|||
viewport: &Rectangle,
|
||||
) {
|
||||
use event::Event::{Mouse, Touch};
|
||||
use mouse::{Button::Left, Event::ButtonReleased};
|
||||
use mouse::Button::Left;
|
||||
use mouse::Event::ButtonReleased;
|
||||
use touch::Event::{FingerLifted, FingerLost};
|
||||
|
||||
process_root_events(
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
// From iced_aw, license MIT
|
||||
|
||||
//! Menu tree overlay
|
||||
use std::{borrow::Cow, sync::Arc};
|
||||
use std::borrow::Cow;
|
||||
use std::sync::Arc;
|
||||
|
||||
use super::{menu_bar::MenuBarState, menu_tree::MenuTree};
|
||||
use super::menu_bar::MenuBarState;
|
||||
use super::menu_tree::MenuTree;
|
||||
#[cfg(all(
|
||||
feature = "multi-window",
|
||||
feature = "wayland",
|
||||
|
|
@ -16,12 +18,12 @@ use crate::style::menu_bar::StyleSheet;
|
|||
|
||||
use iced::window;
|
||||
use iced_core::{Border, Renderer as IcedRenderer, Shadow, Widget};
|
||||
use iced_widget::core::layout::{Limits, Node};
|
||||
use iced_widget::core::mouse::{self, Cursor};
|
||||
use iced_widget::core::widget::Tree;
|
||||
use iced_widget::core::{
|
||||
Clipboard, Layout, Length, Padding, Point, Rectangle, Shell, Size, Vector, event,
|
||||
layout::{Limits, Node},
|
||||
mouse::{self, Cursor},
|
||||
overlay, renderer, touch,
|
||||
widget::Tree,
|
||||
Clipboard, Layout, Length, Padding, Point, Rectangle, Shell, Size, Vector, event, overlay,
|
||||
renderer, touch,
|
||||
};
|
||||
|
||||
/// The condition of when to close a menu
|
||||
|
|
@ -559,14 +561,10 @@ impl<'b, Message: Clone + 'static> Menu<'b, Message> {
|
|||
clipboard: &mut dyn Clipboard,
|
||||
shell: &mut Shell<'_, Message>,
|
||||
) -> Option<(usize, MenuState)> {
|
||||
use event::{
|
||||
Event::{Mouse, Touch},
|
||||
Status::{Captured, Ignored},
|
||||
};
|
||||
use mouse::{
|
||||
Button::Left,
|
||||
Event::{ButtonPressed, ButtonReleased, CursorMoved, WheelScrolled},
|
||||
};
|
||||
use event::Event::{Mouse, Touch};
|
||||
use event::Status::{Captured, Ignored};
|
||||
use mouse::Button::Left;
|
||||
use mouse::Event::{ButtonPressed, ButtonReleased, CursorMoved, WheelScrolled};
|
||||
use touch::Event::{FingerLifted, FingerMoved, FingerPressed};
|
||||
|
||||
if !self
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ pub use dialog::{Dialog, dialog};
|
|||
pub mod divider {
|
||||
/// Horizontal variant of a divider.
|
||||
pub mod horizontal {
|
||||
use iced::{widget::Rule, widget::rule};
|
||||
use iced::widget::{Rule, rule};
|
||||
|
||||
/// Horizontal divider with default thickness
|
||||
#[must_use]
|
||||
|
|
|
|||
|
|
@ -6,10 +6,9 @@
|
|||
//! For details on the model, see the [`segmented_button`] module for more details.
|
||||
|
||||
use apply::Apply;
|
||||
use iced::{
|
||||
Background, Length,
|
||||
clipboard::{dnd::DndAction, mime::AllowedMimeTypes},
|
||||
};
|
||||
use iced::clipboard::dnd::DndAction;
|
||||
use iced::clipboard::mime::AllowedMimeTypes;
|
||||
use iced::{Background, Length};
|
||||
use iced_core::{Border, Color, Shadow};
|
||||
|
||||
use crate::widget::{Container, Icon, container, menu, scrollable, segmented_button};
|
||||
|
|
|
|||
|
|
@ -5,14 +5,10 @@
|
|||
|
||||
use iced::widget;
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::touch;
|
||||
use iced_core::widget::{Operation, Tree};
|
||||
use iced_core::{
|
||||
Clipboard, Element, Layout, Length, Point, Rectangle, Shell, Size, Vector, Widget,
|
||||
Clipboard, Element, Layout, Length, Point, Rectangle, Shell, Size, Vector, Widget, layout,
|
||||
mouse, overlay, renderer, touch,
|
||||
};
|
||||
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
//! Show a circular progress indicator.
|
||||
use super::animation::{Animation, Progress};
|
||||
use super::style::StyleSheet;
|
||||
use iced::advanced::layout;
|
||||
use iced::advanced::renderer;
|
||||
use iced::advanced::widget::tree::{self, Tree};
|
||||
use iced::advanced::{self, Clipboard, Layout, Shell, Widget};
|
||||
use iced::mouse;
|
||||
use iced::advanced::{self, Clipboard, Layout, Shell, Widget, layout, renderer};
|
||||
use iced::widget::canvas;
|
||||
use iced::window;
|
||||
use iced::{Element, Event, Length, Radians, Rectangle, Renderer, Size, Vector};
|
||||
use iced::{Element, Event, Length, Radians, Rectangle, Renderer, Size, Vector, mouse, window};
|
||||
|
||||
use std::f32::consts::PI;
|
||||
use std::time::Duration;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
//! Show a linear progress indicator.
|
||||
use super::animation::{Animation, Progress};
|
||||
use super::style::StyleSheet;
|
||||
use iced::advanced::layout;
|
||||
use iced::advanced::renderer;
|
||||
use iced::advanced::widget::tree::{self, Tree};
|
||||
use iced::advanced::{self, Clipboard, Layout, Shell, Widget};
|
||||
use iced::mouse;
|
||||
use iced::window;
|
||||
use iced::{Background, Element, Event, Length, Rectangle, Size};
|
||||
use iced::advanced::{self, Clipboard, Layout, Shell, Widget, layout, renderer};
|
||||
use iced::{Background, Element, Event, Length, Rectangle, Size, mouse, window};
|
||||
|
||||
use std::time::Duration;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,10 @@
|
|||
use crate::{Theme, theme};
|
||||
use iced::border;
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::touch;
|
||||
use iced_core::widget::tree::Tree;
|
||||
use iced_core::{
|
||||
Border, Clipboard, Element, Layout, Length, Pixels, Rectangle, Shell, Size, Vector, Widget,
|
||||
layout, mouse, overlay, renderer, touch,
|
||||
};
|
||||
|
||||
use iced_widget::radio as iced_radio;
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ use iced::widget::Container;
|
|||
pub use subscription::*;
|
||||
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::Tree;
|
||||
use iced_core::{Alignment, Clipboard, Element, Layout, Length, Padding, Rectangle, Shell, Widget};
|
||||
use std::{fmt::Debug, hash::Hash};
|
||||
use iced_core::{
|
||||
Alignment, Clipboard, Element, Layout, Length, Padding, Rectangle, Shell, Widget, layout,
|
||||
mouse, overlay, renderer,
|
||||
};
|
||||
use std::fmt::Debug;
|
||||
use std::hash::Hash;
|
||||
|
||||
pub use iced_widget::container::{Catalog, Style};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
use iced::{
|
||||
Rectangle,
|
||||
futures::{
|
||||
StreamExt,
|
||||
channel::mpsc::{UnboundedReceiver, unbounded},
|
||||
stream,
|
||||
},
|
||||
};
|
||||
use iced::Rectangle;
|
||||
use iced::futures::channel::mpsc::{UnboundedReceiver, unbounded};
|
||||
use iced::futures::{StreamExt, stream};
|
||||
use iced_futures::Subscription;
|
||||
use std::{collections::HashMap, fmt::Debug, hash::Hash};
|
||||
use std::collections::HashMap;
|
||||
use std::fmt::Debug;
|
||||
use std::hash::Hash;
|
||||
|
||||
use super::RectangleTracker;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,11 @@
|
|||
|
||||
use iced::{Limits, Size};
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer;
|
||||
use iced_core::widget::{Id, Operation, Tree, tree};
|
||||
use iced_core::{Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget};
|
||||
use iced_core::{
|
||||
Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse, overlay,
|
||||
renderer,
|
||||
};
|
||||
|
||||
pub(crate) fn responsive_container<'a, Message: 'static, Theme, E>(
|
||||
content: E,
|
||||
|
|
|
|||
|
|
@ -2,10 +2,8 @@ use std::collections::HashMap;
|
|||
|
||||
use apply::Apply;
|
||||
|
||||
use crate::{
|
||||
Core, Element,
|
||||
widget::{button, icon, responsive_container},
|
||||
};
|
||||
use crate::widget::{button, icon, responsive_container};
|
||||
use crate::{Core, Element};
|
||||
|
||||
use super::menu::{self, ItemHeight, ItemWidth};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,11 @@ use iced_core::id::Internal;
|
|||
use iced_core::mouse::ScrollDelta;
|
||||
use iced_core::text::{self, Ellipsize, LineHeight, Renderer as TextRenderer, Shaping, Wrapping};
|
||||
use iced_core::widget::operation::Focusable;
|
||||
use iced_core::widget::{self, operation, tree};
|
||||
use iced_core::{Border, Point, Renderer as IcedRenderer, Shadow, Text};
|
||||
use iced_core::{Clipboard, Layout, Shell, Widget, layout, renderer, widget::Tree};
|
||||
use iced_core::widget::{self, Tree, operation, tree};
|
||||
use iced_core::{
|
||||
Border, Clipboard, Layout, Point, Renderer as IcedRenderer, Shadow, Shell, Text, Widget,
|
||||
layout, renderer,
|
||||
};
|
||||
use iced_runtime::{Action, task};
|
||||
use slotmap::{Key, SecondaryMap};
|
||||
use std::borrow::Cow;
|
||||
|
|
|
|||
|
|
@ -3,12 +3,11 @@
|
|||
|
||||
use std::borrow::Cow;
|
||||
|
||||
use crate::{
|
||||
Element, Theme, theme,
|
||||
widget::{FlexRow, Row, column, container, flex_row, list, row, text},
|
||||
};
|
||||
use crate::widget::{FlexRow, Row, column, container, flex_row, list, row, text};
|
||||
use crate::{Element, Theme, theme};
|
||||
use derive_setters::Setters;
|
||||
use iced_core::{Length, text::Wrapping};
|
||||
use iced_core::Length;
|
||||
use iced_core::text::Wrapping;
|
||||
use iced_widget::space;
|
||||
use taffy::AlignContent;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,13 +3,10 @@
|
|||
|
||||
//! A control for incremental adjustments of a value.
|
||||
|
||||
use crate::{
|
||||
Element, theme,
|
||||
widget::{button, column, container, icon, row, text},
|
||||
};
|
||||
use crate::widget::{button, column, container, icon, row, text};
|
||||
use crate::{Element, theme};
|
||||
use apply::Apply;
|
||||
use iced::{Alignment, Length};
|
||||
use iced::{Border, Shadow};
|
||||
use iced::{Alignment, Border, Length, Shadow};
|
||||
use std::borrow::Cow;
|
||||
use std::ops::{Add, Sub};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,9 @@
|
|||
//!
|
||||
|
||||
pub mod model;
|
||||
pub use model::{
|
||||
Entity, Model,
|
||||
category::ItemCategory,
|
||||
category::ItemInterface,
|
||||
selection::{MultiSelect, SingleSelect},
|
||||
};
|
||||
pub use model::category::{ItemCategory, ItemInterface};
|
||||
pub use model::selection::{MultiSelect, SingleSelect};
|
||||
pub use model::{Entity, Model};
|
||||
pub mod widget;
|
||||
pub use widget::compact::CompactTableView;
|
||||
pub use widget::standard::TableView;
|
||||
|
|
|
|||
|
|
@ -3,10 +3,8 @@
|
|||
|
||||
use slotmap::{SecondaryMap, SparseSecondaryMap};
|
||||
|
||||
use super::{
|
||||
Entity, Model, Selectable,
|
||||
category::{ItemCategory, ItemInterface},
|
||||
};
|
||||
use super::category::{ItemCategory, ItemInterface};
|
||||
use super::{Entity, Model, Selectable};
|
||||
|
||||
/// A newly-inserted item which may have additional actions applied to it.
|
||||
pub struct EntityMut<
|
||||
|
|
|
|||
|
|
@ -2,10 +2,8 @@ pub mod category;
|
|||
pub mod entity;
|
||||
pub mod selection;
|
||||
|
||||
use std::{
|
||||
any::{Any, TypeId},
|
||||
collections::{HashMap, VecDeque},
|
||||
};
|
||||
use std::any::{Any, TypeId};
|
||||
use std::collections::{HashMap, VecDeque};
|
||||
|
||||
use category::{ItemCategory, ItemInterface};
|
||||
use entity::EntityMut;
|
||||
|
|
|
|||
|
|
@ -3,10 +3,8 @@
|
|||
|
||||
//! Describes logic specific to the single-select and multi-select modes of a model.
|
||||
|
||||
use super::{
|
||||
Entity, Model,
|
||||
category::{ItemCategory, ItemInterface},
|
||||
};
|
||||
use super::category::{ItemCategory, ItemInterface};
|
||||
use super::{Entity, Model};
|
||||
use std::collections::HashSet;
|
||||
|
||||
/// Describes a type that has selectable items.
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
use derive_setters::Setters;
|
||||
|
||||
use crate::widget::table::model::{
|
||||
Entity, Model,
|
||||
category::{ItemCategory, ItemInterface},
|
||||
selection::Selectable,
|
||||
};
|
||||
use crate::{
|
||||
Apply, Element, theme,
|
||||
widget::{self, container, menu},
|
||||
};
|
||||
use crate::widget::table::model::category::{ItemCategory, ItemInterface};
|
||||
use crate::widget::table::model::selection::Selectable;
|
||||
use crate::widget::table::model::{Entity, Model};
|
||||
use crate::widget::{self, container, menu};
|
||||
use crate::{Apply, Element, theme};
|
||||
use iced::{Alignment, Border, Padding};
|
||||
|
||||
#[derive(Setters)]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
use derive_setters::Setters;
|
||||
|
||||
use crate::widget::table::model::{
|
||||
Entity, Model,
|
||||
category::{ItemCategory, ItemInterface},
|
||||
selection::Selectable,
|
||||
};
|
||||
use crate::{
|
||||
Apply, Element, theme,
|
||||
widget::{self, container, divider, menu},
|
||||
};
|
||||
use crate::widget::table::model::category::{ItemCategory, ItemInterface};
|
||||
use crate::widget::table::model::selection::Selectable;
|
||||
use crate::widget::table::model::{Entity, Model};
|
||||
use crate::widget::{self, container, divider, menu};
|
||||
use crate::{Apply, Element, theme};
|
||||
use iced::{Alignment, Border, Length, Padding};
|
||||
|
||||
// THIS IS A PLACEHOLDER UNTIL A MORE SOPHISTICATED WIDGET CAN BE DEVELOPED
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
// Copyright 2023 System76 <info@system76.com>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
use super::{cursor::Cursor, value::Value};
|
||||
use super::cursor::Cursor;
|
||||
use super::value::Value;
|
||||
|
||||
pub struct Editor<'a> {
|
||||
value: &'a mut Value,
|
||||
|
|
|
|||
|
|
@ -28,18 +28,14 @@ use iced_core::overlay::Group;
|
|||
use iced_core::renderer::{self, Renderer as CoreRenderer};
|
||||
use iced_core::text::{self, Affinity, Paragraph, Renderer, Text};
|
||||
use iced_core::time::{Duration, Instant};
|
||||
use iced_core::touch;
|
||||
use iced_core::widget::Id;
|
||||
use iced_core::widget::operation::{self, Operation};
|
||||
use iced_core::widget::tree::{self, Tree};
|
||||
use iced_core::window;
|
||||
use iced_core::{Background, alignment};
|
||||
use iced_core::{Border, Shadow, keyboard};
|
||||
use iced_core::{
|
||||
Clipboard, Color, Element, Layout, Length, Padding, Pixels, Point, Rectangle, Shell, Size,
|
||||
Vector, Widget,
|
||||
Background, Border, Clipboard, Color, Element, Layout, Length, Padding, Pixels, Point,
|
||||
Rectangle, Shadow, Shell, Size, Vector, Widget, alignment, keyboard, layout, overlay, touch,
|
||||
window,
|
||||
};
|
||||
use iced_core::{layout, overlay};
|
||||
use iced_runtime::{Action, Task, task};
|
||||
|
||||
thread_local! {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
//! Change the appearance of a text input.
|
||||
|
||||
use iced_core::{Background, Color, border::Radius};
|
||||
use iced_core::border::Radius;
|
||||
use iced_core::{Background, Color};
|
||||
|
||||
/// The appearance of a text input.
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
|
|
|||
|
|
@ -6,16 +6,13 @@
|
|||
use std::collections::VecDeque;
|
||||
use std::rc::Rc;
|
||||
|
||||
use crate::widget::Column;
|
||||
use crate::widget::container;
|
||||
use crate::widget::{Column, container};
|
||||
use iced::Task;
|
||||
use iced_core::Element;
|
||||
use slotmap::SlotMap;
|
||||
use slotmap::new_key_type;
|
||||
use slotmap::{SlotMap, new_key_type};
|
||||
use widget::Toaster;
|
||||
|
||||
use super::column;
|
||||
use super::{button, icon, row, text};
|
||||
use super::{button, column, icon, row, text};
|
||||
|
||||
mod widget;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,16 +4,14 @@
|
|||
use iced::{Limits, Size};
|
||||
use iced_core::layout::Node;
|
||||
|
||||
use iced_core::Element;
|
||||
use iced_core::Overlay;
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::layout;
|
||||
use iced_core::mouse;
|
||||
use iced_core::overlay;
|
||||
use iced_core::renderer::{self};
|
||||
use iced_core::widget::Operation;
|
||||
use iced_core::widget::tree::Tree;
|
||||
use iced_core::{Clipboard, Layout, Length, Point, Rectangle, Shell, Vector, Widget};
|
||||
use iced_core::{
|
||||
Clipboard, Element, Layout, Length, Overlay, Point, Rectangle, Shell, Vector, Widget, layout,
|
||||
mouse, overlay,
|
||||
};
|
||||
|
||||
pub struct Toaster<'a, Message, Theme, Renderer> {
|
||||
toasts: Element<'a, Message, Theme, Renderer>,
|
||||
|
|
|
|||
|
|
@ -3,15 +3,14 @@
|
|||
use std::time::{Duration, Instant};
|
||||
|
||||
use crate::{Element, anim};
|
||||
use iced_core::renderer::{self, Renderer};
|
||||
use iced_core::widget::{self, Tree, tree};
|
||||
use iced_core::{
|
||||
Border, Clipboard, Event, Layout, Length, Pixels, Rectangle, Shell, Size, Widget, alignment,
|
||||
event, layout, mouse,
|
||||
renderer::{self, Renderer},
|
||||
text, touch,
|
||||
widget::{self, Tree, tree},
|
||||
window,
|
||||
event, layout, mouse, text, touch, window,
|
||||
};
|
||||
use iced_widget::{Id, toggler::Status};
|
||||
use iced_widget::Id;
|
||||
use iced_widget::toggler::Status;
|
||||
|
||||
pub use iced_widget::toggler::{Catalog, Style};
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ pub mod widget;
|
|||
// Copyright 2023 System76 <info@system76.com>
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use iced_core::{Background, Color, Vector, border::Radius};
|
||||
use iced_core::border::Radius;
|
||||
use iced_core::{Background, Color, Vector};
|
||||
|
||||
use crate::theme::THEME;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,16 +14,12 @@ use iced::Task;
|
|||
use iced_runtime::core::widget::Id;
|
||||
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::renderer;
|
||||
use iced_core::touch;
|
||||
use iced_core::widget::Operation;
|
||||
use iced_core::widget::tree::{self, Tree};
|
||||
use iced_core::{
|
||||
Background, Clipboard, Color, Layout, Length, Padding, Point, Rectangle, Shell, Vector, Widget,
|
||||
Background, Border, Clipboard, Color, Layout, Length, Padding, Point, Rectangle, Shadow, Shell,
|
||||
Vector, Widget, layout, mouse, overlay, renderer, svg, touch,
|
||||
};
|
||||
use iced_core::{Border, mouse};
|
||||
use iced_core::{Shadow, overlay};
|
||||
use iced_core::{layout, svg};
|
||||
|
||||
pub use super::{Catalog, Style};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
use std::{
|
||||
borrow::Borrow,
|
||||
cell::RefCell,
|
||||
rc::Rc,
|
||||
thread::{self, ThreadId},
|
||||
};
|
||||
use std::borrow::Borrow;
|
||||
use std::cell::RefCell;
|
||||
use std::rc::Rc;
|
||||
use std::thread::{self, ThreadId};
|
||||
|
||||
use crate::Element;
|
||||
use iced::{Length, Rectangle, Size, event};
|
||||
use iced_core::{Widget, id::Id, widget, widget::tree};
|
||||
use iced_core::id::Id;
|
||||
use iced_core::widget::tree;
|
||||
use iced_core::{Widget, widget};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct RcWrapper<T> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue