Struct egui::containers::collapsing_header::CollapsingState
source · [−]pub struct CollapsingState { /* private fields */ }
Expand description
This is a a building block for building collapsing regions.
It is used by CollapsingHeader
and Window
, but can also be used on its own.
See CollapsingState::show_header
for how to show a collapsing header with a custom header.
Implementations
sourceimpl CollapsingState
impl CollapsingState
pub fn load(ctx: &Context, id: Id) -> Option<Self>
pub fn store(&self, ctx: &Context)
pub fn id(&self) -> Id
pub fn load_with_default_open(ctx: &Context, id: Id, default_open: bool) -> Self
pub fn is_open(&self) -> bool
pub fn set_open(&mut self, open: bool)
pub fn toggle(&mut self, ui: &Ui)
sourcepub fn show_header<HeaderRet>(
self,
ui: &mut Ui,
add_header: impl FnOnce(&mut Ui) -> HeaderRet
) -> HeaderResponse<'_, HeaderRet>
pub fn show_header<HeaderRet>(
self,
ui: &mut Ui,
add_header: impl FnOnce(&mut Ui) -> HeaderRet
) -> HeaderResponse<'_, HeaderRet>
Shows header and body (if expanded).
The header will start with the default button in a horizontal layout, followed by whatever you add.
Will also store the state.
Returns the response of the collapsing button, the custom header, and the custom body.
let id = ui.make_persistent_id("my_collapsing_header");
egui::collapsing_header::CollapsingState::load_with_default_open(ui.ctx(), id, false)
.show_header(ui, |ui| {
ui.label("Header"); // you can put checkboxes or whatever here
})
.body(|ui| ui.label("Body"));
sourcepub fn show_body_indented<R>(
&mut self,
header_response: &Response,
ui: &mut Ui,
add_body: impl FnOnce(&mut Ui) -> R
) -> Option<InnerResponse<R>>
pub fn show_body_indented<R>(
&mut self,
header_response: &Response,
ui: &mut Ui,
add_body: impl FnOnce(&mut Ui) -> R
) -> Option<InnerResponse<R>>
Show body if we are open, with a nice animation between closed and open. Indent the body to show it belongs to the header.
Will also store the state.
sourcepub fn show_body_unindented<R>(
&mut self,
ui: &mut Ui,
add_body: impl FnOnce(&mut Ui) -> R
) -> Option<InnerResponse<R>>
pub fn show_body_unindented<R>(
&mut self,
ui: &mut Ui,
add_body: impl FnOnce(&mut Ui) -> R
) -> Option<InnerResponse<R>>
Show body if we are open, with a nice animation between closed and open. Will also store the state.
Paint this CollapsingState’s toggle button. Takes an IconPainter as the icon.
fn circle_icon(ui: &mut egui::Ui, openness: f32, response: &egui::Response) {
let stroke = ui.style().interact(&response).fg_stroke;
let radius = egui::lerp(2.0..=3.0, openness);
ui.painter().circle_filled(response.rect.center(), radius, stroke.color);
}
let mut state = egui::collapsing_header::CollapsingState::load_with_default_open(
ui.ctx(),
ui.make_persistent_id("my_collapsing_state"),
false,
);
let header_res = ui.horizontal(|ui| {
ui.label("Header");
state.show_toggle_button(ui, circle_icon);
});
state.show_body_indented(&header_res.response, ui, |ui| ui.label("Body"));
Trait Implementations
sourceimpl Clone for CollapsingState
impl Clone for CollapsingState
sourcefn clone(&self) -> CollapsingState
fn clone(&self) -> CollapsingState
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl RefUnwindSafe for CollapsingState
impl Send for CollapsingState
impl Sync for CollapsingState
impl Unpin for CollapsingState
impl UnwindSafe for CollapsingState
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more