pub struct TreeBehavior {
pub undo: Vec<StpaData>,
pub redo: Vec<StpaData>,
pub stpa_data: StpaData,
pub project: Option<StpaProject>,
}Fields§
§undo: Vec<StpaData>§redo: Vec<StpaData>§stpa_data: StpaData§project: Option<StpaProject>Trait Implementations§
Source§impl Behavior<StpaView> for TreeBehavior
impl Behavior<StpaView> for TreeBehavior
Source§fn tab_title_for_pane(&mut self, pane: &StpaView) -> WidgetText
fn tab_title_for_pane(&mut self, pane: &StpaView) -> WidgetText
The title of a pane tab.
Source§fn simplification_options(&self) -> SimplificationOptions
fn simplification_options(&self) -> SimplificationOptions
What are the rules for simplifying the tree?
Source§fn pane_ui(
&mut self,
ui: &mut Ui,
_tile_id: TileId,
panel: &mut StpaView,
) -> UiResponse
fn pane_ui( &mut self, ui: &mut Ui, _tile_id: TileId, panel: &mut StpaView, ) -> UiResponse
Show a pane tile in the given [
egui::Ui]. Read more§fn is_tab_closable(&self, _tiles: &Tiles<Pane>, _tile_id: TileId) -> bool
fn is_tab_closable(&self, _tiles: &Tiles<Pane>, _tile_id: TileId) -> bool
Should the tab have a close-button?
§fn on_tab_close(&mut self, _tiles: &mut Tiles<Pane>, _tile_id: TileId) -> bool
fn on_tab_close(&mut self, _tiles: &mut Tiles<Pane>, _tile_id: TileId) -> bool
Called when the close-button on a tab is pressed. Read more
The size of the close button in the tab.
How much smaller the visual part of the close-button will be
compared to [
Self::close_button_outer_size].§fn tab_title_for_tile(
&mut self,
tiles: &Tiles<Pane>,
tile_id: TileId,
) -> WidgetText
fn tab_title_for_tile( &mut self, tiles: &Tiles<Pane>, tile_id: TileId, ) -> WidgetText
The title of a general tab. Read more
§fn tab_ui(
&mut self,
tiles: &mut Tiles<Pane>,
ui: &mut Ui,
id: Id,
tile_id: TileId,
state: &TabState,
) -> Response
fn tab_ui( &mut self, tiles: &mut Tiles<Pane>, ui: &mut Ui, id: Id, tile_id: TileId, state: &TabState, ) -> Response
Show the ui for the a tab of some tile. Read more
§fn drag_ui(&mut self, tiles: &Tiles<Pane>, ui: &mut Ui, tile_id: TileId)
fn drag_ui(&mut self, tiles: &Tiles<Pane>, ui: &mut Ui, tile_id: TileId)
Show the ui for the tab being dragged.
Called by the default implementation of [
Self::tab_ui] for each added button§fn retain_pane(&mut self, _pane: &Pane) -> bool
fn retain_pane(&mut self, _pane: &Pane) -> bool
Return
false if a given pane should be removed from its parent.§fn top_bar_right_ui(
&mut self,
_tiles: &Tiles<Pane>,
_ui: &mut Ui,
_tile_id: TileId,
_tabs: &Tabs,
_scroll_offset: &mut f32,
)
fn top_bar_right_ui( &mut self, _tiles: &Tiles<Pane>, _ui: &mut Ui, _tile_id: TileId, _tabs: &Tabs, _scroll_offset: &mut f32, )
Adds some UI to the top right of each tab bar. Read more
§fn tab_bar_height(&self, _style: &Style) -> f32
fn tab_bar_height(&self, _style: &Style) -> f32
The height of the bar holding tab titles.
§fn gap_width(&self, _style: &Style) -> f32
fn gap_width(&self, _style: &Style) -> f32
Width of the gap between tiles in a horizontal or vertical layout,
and between rows/columns in a grid layout.
§fn preview_dragged_panes(&self) -> bool
fn preview_dragged_panes(&self) -> bool
Show we preview panes that are being dragged,
i.e. show their ui in the region where they will end up?
§fn dragged_overlay_color(&self, visuals: &Visuals) -> Color32
fn dragged_overlay_color(&self, visuals: &Visuals) -> Color32
Cover the tile that is being dragged with this color.
§fn paint_on_top_of_tile(
&self,
_painter: &Painter,
_style: &Style,
_tile_id: TileId,
_rect: Rect,
)
fn paint_on_top_of_tile( &self, _painter: &Painter, _style: &Style, _tile_id: TileId, _rect: Rect, )
Add some custom painting on top of a tile (container or pane), e.g. draw an outline on top of it.
§fn resize_stroke(&self, style: &Style, resize_state: ResizeState) -> Stroke
fn resize_stroke(&self, style: &Style, resize_state: ResizeState) -> Stroke
The stroke used for the lines in horizontal, vertical, and grid layouts.
§fn tab_title_spacing(&self, _visuals: &Visuals) -> f32
fn tab_title_spacing(&self, _visuals: &Visuals) -> f32
Extra spacing to left and right of tab titles.
§fn tab_bar_color(&self, visuals: &Visuals) -> Color32
fn tab_bar_color(&self, visuals: &Visuals) -> Color32
The background color of the tab bar.
§fn tab_bg_color(
&self,
visuals: &Visuals,
_tiles: &Tiles<Pane>,
_tile_id: TileId,
state: &TabState,
) -> Color32
fn tab_bg_color( &self, visuals: &Visuals, _tiles: &Tiles<Pane>, _tile_id: TileId, state: &TabState, ) -> Color32
The background color of a tab.
§fn tab_outline_stroke(
&self,
visuals: &Visuals,
_tiles: &Tiles<Pane>,
_tile_id: TileId,
state: &TabState,
) -> Stroke
fn tab_outline_stroke( &self, visuals: &Visuals, _tiles: &Tiles<Pane>, _tile_id: TileId, state: &TabState, ) -> Stroke
Stroke of the outline around a tab title.
§fn tab_bar_hline_stroke(&self, visuals: &Visuals) -> Stroke
fn tab_bar_hline_stroke(&self, visuals: &Visuals) -> Stroke
Stroke of the line separating the tab title bar and the content of the active tab.
§fn tab_text_color(
&self,
visuals: &Visuals,
_tiles: &Tiles<Pane>,
_tile_id: TileId,
state: &TabState,
) -> Color32
fn tab_text_color( &self, visuals: &Visuals, _tiles: &Tiles<Pane>, _tile_id: TileId, state: &TabState, ) -> Color32
The color of the title text of the tab. Read more
§fn drag_preview_stroke(&self, visuals: &Visuals) -> Stroke
fn drag_preview_stroke(&self, visuals: &Visuals) -> Stroke
When drag-and-dropping a tile, the candidate area is drawn with this stroke.
§fn drag_preview_color(&self, visuals: &Visuals) -> Color32
fn drag_preview_color(&self, visuals: &Visuals) -> Color32
When drag-and-dropping a tile, the candidate area is drawn with this background color.
§fn paint_drag_preview(
&self,
visuals: &Visuals,
painter: &Painter,
parent_rect: Option<Rect>,
preview_rect: Rect,
)
fn paint_drag_preview( &self, visuals: &Visuals, painter: &Painter, parent_rect: Option<Rect>, preview_rect: Rect, )
When drag-and-dropping a tile, how do we preview what is about to happen?
§fn grid_auto_column_count(
&self,
num_visible_children: usize,
rect: Rect,
gap: f32,
) -> usize
fn grid_auto_column_count( &self, num_visible_children: usize, rect: Rect, gap: f32, ) -> usize
§fn ideal_tile_aspect_ratio(&self) -> f32
fn ideal_tile_aspect_ratio(&self) -> f32
When using [
crate::GridLayout::Auto], what is the ideal aspect ratio of a tile?Auto Trait Implementations§
impl Freeze for TreeBehavior
impl RefUnwindSafe for TreeBehavior
impl Send for TreeBehavior
impl Sync for TreeBehavior
impl Unpin for TreeBehavior
impl UnwindSafe for TreeBehavior
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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