Rename Panes widget to PaneGrid

This commit is contained in:
Héctor Ramón Jiménez 2020-03-10 02:57:13 +01:00
parent 15fad17f37
commit 6151c52824
9 changed files with 24 additions and 24 deletions

View file

@ -44,7 +44,7 @@ members = [
"examples/events", "examples/events",
"examples/geometry", "examples/geometry",
"examples/integration", "examples/integration",
"examples/panes", "examples/pane_grid",
"examples/pokedex", "examples/pokedex",
"examples/progress_bar", "examples/progress_bar",
"examples/solar_system", "examples/solar_system",

View file

@ -1,5 +1,5 @@
[package] [package]
name = "panes" name = "pane_grid"
version = "0.1.0" version = "0.1.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"] authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2018" edition = "2018"

View file

@ -1,5 +1,5 @@
use iced::{ use iced::{
panes, Application, Command, Element, Panes, Settings, Subscription, pane_grid, Application, Command, Element, PaneGrid, Settings, Subscription,
}; };
use iced_native::input::keyboard; use iced_native::input::keyboard;
@ -15,7 +15,7 @@ pub fn main() {
#[derive(Debug)] #[derive(Debug)]
struct Launcher { struct Launcher {
panes: panes::State<Example>, panes: pane_grid::State<Example>,
} }
#[derive(Debug)] #[derive(Debug)]
@ -26,9 +26,9 @@ enum Example {
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
enum Message { enum Message {
Clock(panes::Pane, clock::Message), Clock(pane_grid::Pane, clock::Message),
Stopwatch(panes::Pane, stopwatch::Message), Stopwatch(pane_grid::Pane, stopwatch::Message),
Split(panes::Split), Split(pane_grid::Split),
Close, Close,
} }
@ -38,7 +38,7 @@ impl Application for Launcher {
fn new() -> (Self, Command<Message>) { fn new() -> (Self, Command<Message>) {
let (clock, _) = Clock::new(); let (clock, _) = Clock::new();
let (panes, _) = panes::State::new(Example::Clock(clock)); let (panes, _) = pane_grid::State::new(Example::Clock(clock));
(Self { panes }, Command::none()) (Self { panes }, Command::none())
} }
@ -105,9 +105,9 @@ impl Application for Launcher {
Subscription::batch(vec![ Subscription::batch(vec![
events::key_released(keyboard::KeyCode::H) events::key_released(keyboard::KeyCode::H)
.map(|_| Message::Split(panes::Split::Horizontal)), .map(|_| Message::Split(pane_grid::Split::Horizontal)),
events::key_released(keyboard::KeyCode::V) events::key_released(keyboard::KeyCode::V)
.map(|_| Message::Split(panes::Split::Vertical)), .map(|_| Message::Split(pane_grid::Split::Vertical)),
events::key_released(keyboard::KeyCode::Q).map(|_| Message::Close), events::key_released(keyboard::KeyCode::Q).map(|_| Message::Close),
panes_subscriptions, panes_subscriptions,
]) ])
@ -116,7 +116,7 @@ impl Application for Launcher {
fn view(&mut self) -> Element<Message> { fn view(&mut self) -> Element<Message> {
let Self { panes } = self; let Self { panes } = self;
Panes::new(panes, |pane, example| match example { PaneGrid::new(panes, |pane, example| match example {
Example::Clock(clock) => clock Example::Clock(clock) => clock
.view() .view()
.map(move |message| Message::Clock(pane, message)), .map(move |message| Message::Clock(pane, message)),

View file

@ -25,7 +25,7 @@ pub mod checkbox;
pub mod column; pub mod column;
pub mod container; pub mod container;
pub mod image; pub mod image;
pub mod panes; pub mod pane_grid;
pub mod progress_bar; pub mod progress_bar;
pub mod radio; pub mod radio;
pub mod row; pub mod row;
@ -47,7 +47,7 @@ pub use container::Container;
#[doc(no_inline)] #[doc(no_inline)]
pub use image::Image; pub use image::Image;
#[doc(no_inline)] #[doc(no_inline)]
pub use panes::Panes; pub use pane_grid::PaneGrid;
#[doc(no_inline)] #[doc(no_inline)]
pub use progress_bar::ProgressBar; pub use progress_bar::ProgressBar;
#[doc(no_inline)] #[doc(no_inline)]

View file

@ -7,14 +7,14 @@ use crate::{
use std::collections::HashMap; use std::collections::HashMap;
#[allow(missing_debug_implementations)] #[allow(missing_debug_implementations)]
pub struct Panes<'a, Message, Renderer> { pub struct PaneGrid<'a, Message, Renderer> {
state: &'a mut Internal, state: &'a mut Internal,
elements: Vec<(Pane, Element<'a, Message, Renderer>)>, elements: Vec<(Pane, Element<'a, Message, Renderer>)>,
width: Length, width: Length,
height: Length, height: Length,
} }
impl<'a, Message, Renderer> Panes<'a, Message, Renderer> { impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> {
pub fn new<T>( pub fn new<T>(
state: &'a mut State<T>, state: &'a mut State<T>,
view: impl Fn(Pane, &'a mut T) -> Element<'a, Message, Renderer>, view: impl Fn(Pane, &'a mut T) -> Element<'a, Message, Renderer>,
@ -51,7 +51,7 @@ impl<'a, Message, Renderer> Panes<'a, Message, Renderer> {
} }
impl<'a, Message, Renderer> Widget<Message, Renderer> impl<'a, Message, Renderer> Widget<Message, Renderer>
for Panes<'a, Message, Renderer> for PaneGrid<'a, Message, Renderer>
where where
Renderer: self::Renderer + 'static, Renderer: self::Renderer + 'static,
Message: 'static, Message: 'static,
@ -146,7 +146,7 @@ where
fn hash_layout(&self, state: &mut Hasher) { fn hash_layout(&self, state: &mut Hasher) {
use std::hash::Hash; use std::hash::Hash;
std::any::TypeId::of::<Panes<'_, Message, Renderer>>().hash(state); std::any::TypeId::of::<PaneGrid<'_, Message, Renderer>>().hash(state);
self.width.hash(state); self.width.hash(state);
self.height.hash(state); self.height.hash(state);
self.state.layout.hash(state); self.state.layout.hash(state);
@ -449,14 +449,14 @@ pub trait Renderer: crate::Renderer + Sized {
) -> Self::Output; ) -> Self::Output;
} }
impl<'a, Message, Renderer> From<Panes<'a, Message, Renderer>> impl<'a, Message, Renderer> From<PaneGrid<'a, Message, Renderer>>
for Element<'a, Message, Renderer> for Element<'a, Message, Renderer>
where where
Renderer: self::Renderer + 'static, Renderer: self::Renderer + 'static,
Message: 'static, Message: 'static,
{ {
fn from( fn from(
panes: Panes<'a, Message, Renderer>, panes: PaneGrid<'a, Message, Renderer>,
) -> Element<'a, Message, Renderer> { ) -> Element<'a, Message, Renderer> {
Element::new(panes) Element::new(panes)
} }

View file

@ -30,7 +30,7 @@ mod platform {
pub use iced_winit::svg::{Handle, Svg}; pub use iced_winit::svg::{Handle, Svg};
} }
pub use iced_winit::{panes, Panes, Text}; pub use iced_winit::{pane_grid, PaneGrid, Text};
#[doc(no_inline)] #[doc(no_inline)]
pub use { pub use {

View file

@ -2,7 +2,7 @@ mod button;
mod checkbox; mod checkbox;
mod column; mod column;
mod container; mod container;
mod panes; mod pane_grid;
mod progress_bar; mod progress_bar;
mod radio; mod radio;
mod row; mod row;

View file

@ -1,11 +1,11 @@
use crate::{Primitive, Renderer}; use crate::{Primitive, Renderer};
use iced_native::{panes, Element, Layout, MouseCursor, Point}; use iced_native::{pane_grid, Element, Layout, MouseCursor, Point};
impl panes::Renderer for Renderer { impl pane_grid::Renderer for Renderer {
fn draw<Message>( fn draw<Message>(
&mut self, &mut self,
defaults: &Self::Defaults, defaults: &Self::Defaults,
content: &[(panes::Pane, Element<'_, Message, Self>)], content: &[(pane_grid::Pane, Element<'_, Message, Self>)],
layout: Layout<'_>, layout: Layout<'_>,
cursor_position: Point, cursor_position: Point,
) -> Self::Output { ) -> Self::Output {