#[non_exhaustive]pub struct WorkspaceDoc {
pub id: String,
pub label: String,
pub closable: bool,
pub dirty: bool,
}Expand description
One document in a WorkspaceController.
id is opaque to quadraui: a path, a URI, a database key,
whatever the host wants. The controller only ever compares ids for
equality and hands them back in WorkspaceEvents. label is what
the tab paints.
#[non_exhaustive]: brand new, so marking it costs no consumer
anything today and a later field (an icon, a preview flag) stays
additive rather than breaking every literal — see CLAUDE.md’s
Downstream consumers rule 2. Build with WorkspaceDoc::new plus
the with_* setters.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: StringOpaque, host-defined identity. Unique within one controller.
label: StringText painted on the tab.
closable: boolWhen false the tab paints no close button and
WorkspaceController::handle_click cannot close it. Defaults to
true.
dirty: boolUnsaved-changes marker — the tab paints ● instead of ×.
Implementations§
Source§impl WorkspaceDoc
impl WorkspaceDoc
Trait Implementations§
Source§impl Clone for WorkspaceDoc
impl Clone for WorkspaceDoc
Source§impl Debug for WorkspaceDoc
impl Debug for WorkspaceDoc
impl Eq for WorkspaceDoc
Source§impl PartialEq for WorkspaceDoc
impl PartialEq for WorkspaceDoc
impl StructuralPartialEq for WorkspaceDoc
Auto Trait Implementations§
impl Freeze for WorkspaceDoc
impl RefUnwindSafe for WorkspaceDoc
impl Send for WorkspaceDoc
impl Sync for WorkspaceDoc
impl Unpin for WorkspaceDoc
impl UnsafeUnpin for WorkspaceDoc
impl UnwindSafe for WorkspaceDoc
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 more