pub struct DockingContext { /* private fields */ }Expand description
Registry of DockTabs containers for efficient lookup during drag operations.
Caches the locations and metadata of all DockTabs widgets in the tree so that cross-container drop target detection does not need a full tree traversal on every mouse move.
Implementations§
Source§impl DockingContext
impl DockingContext
Sourcepub fn style(&self) -> &DockingStyle
pub fn style(&self) -> &DockingStyle
Get a reference to the docking style.
Sourcepub fn style_mut(&mut self) -> &mut DockingStyle
pub fn style_mut(&mut self) -> &mut DockingStyle
Get a mutable reference to the docking style.
Sourcepub fn set_style(&mut self, style: DockingStyle)
pub fn set_style(&mut self, style: DockingStyle)
Replace the docking style.
Sourcepub fn invalidate(&mut self)
pub fn invalidate(&mut self)
Mark the cache as needing a rebuild.
Call this after any tree structure change (node add/remove, tab transfer, split).
Sourcepub fn rebuild_cache(&mut self, tree: &UiTree)
pub fn rebuild_cache(&mut self, tree: &UiTree)
Rebuild the container cache from the tree.
Walks the tree to find all DockTabs widgets and caches their layout and tab count.
Sourcepub fn find_tab_containers(
&mut self,
tree: &UiTree,
) -> &HashMap<NodeId, CachedContainerInfo>
pub fn find_tab_containers( &mut self, tree: &UiTree, ) -> &HashMap<NodeId, CachedContainerInfo>
Get the cached tab containers, rebuilding if necessary.
Sourcepub fn container_count(&self) -> usize
pub fn container_count(&self) -> usize
Get the number of cached containers.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DockingContext
impl RefUnwindSafe for DockingContext
impl Send for DockingContext
impl Sync for DockingContext
impl Unpin for DockingContext
impl UnsafeUnpin for DockingContext
impl UnwindSafe for DockingContext
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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<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>
Converts
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>
Converts
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