pub struct PanelState {
pub panel_name: String,
pub children: Vec<PanelState>,
pub info: PanelInfo,
}Expand description
Everything gpui_base::dock exports, so a consumer never has to depend
on the foundation crate directly to write a skin or read a container’s
state. Kept in step with base’s own list by
every_base_dock_export_is_reachable_from_here.
Two names are handled elsewhere and one is deliberately absent:
base’s Panel and PanelView arrive as BasePanel and BasePanelView
because this module’s Panel/PanelView are the presentation halves that
extend them, and base’s Dock — a plain state struct holding one dock’s
open, collapsible, size and resizing flags — is not re-exported at all,
because the name meant a panel container in every released version of this
crate and handing it back with a different meaning is worse than dropping
it. A skin reads a dock through DockContext.
Used to serialize and deserialize the DockerItem.
This mirrors a persisted, on-disk schema shipped to end users. Its fields
stay pub rather than following the seam’s builder/reader convention —
see “Public Data Types Across the Seam” in docs/ARCHITECTURE.md.
Fields§
§panel_name: String§children: Vec<PanelState>§info: PanelInfoImplementations§
Source§impl PanelState
impl PanelState
Sourcepub fn new(panel_name: impl Into<String>) -> PanelState
pub fn new(panel_name: impl Into<String>) -> PanelState
Create a new leaf state for a panel with the given name.
The base layer has no Panel trait yet (gpui_component::dock::Panel
is layered above), so this takes the name directly rather than
deriving it from a panel value.
pub fn add_child(&mut self, panel: PanelState)
Trait Implementations§
Source§impl Clone for PanelState
impl Clone for PanelState
Source§fn clone(&self) -> PanelState
fn clone(&self) -> PanelState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PanelState
impl Debug for PanelState
Source§impl Default for PanelState
impl Default for PanelState
Source§fn default() -> PanelState
fn default() -> PanelState
Source§impl<'de> Deserialize<'de> for PanelState
impl<'de> Deserialize<'de> for PanelState
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PanelState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PanelState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PanelState
impl PartialEq for PanelState
Source§impl Serialize for PanelState
impl Serialize for PanelState
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for PanelState
Auto Trait Implementations§
impl Freeze for PanelState
impl RefUnwindSafe for PanelState
impl Send for PanelState
impl Sync for PanelState
impl Unpin for PanelState
impl UnsafeUnpin for PanelState
impl UnwindSafe for PanelState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().