Struct re_time_panel::TimePanel
source · pub struct TimePanel {
data_density_graph_painter: DataDensityGraphPainter,
prev_col_width: f32,
next_col_right: f32,
time_ranges_ui: TimeRangesUi,
time_control_ui: TimeControlUi,
source: TimePanelSource,
filter_state: FilterState,
filter_state_app_id: Option<ApplicationId>,
range_selection_anchor_item: Option<Item>,
}
Expand description
A panel that shows entity names to the left, time on the top.
This includes the timeline controls and streams view.
Fields§
§data_density_graph_painter: DataDensityGraphPainter
§prev_col_width: f32
Width of the entity name columns previous frame.
next_col_right: f32
The right side of the entity name column; updated during its painting.
time_ranges_ui: TimeRangesUi
The time axis view, regenerated each frame.
time_control_ui: TimeControlUi
Ui elements for controlling time.
source: TimePanelSource
Which source is the time panel controlling?
filter_state: FilterState
Filtering of entity paths shown in the panel (when expanded).
filter_state_app_id: Option<ApplicationId>
The store id the filter widget relates to.
Used to invalidate the filter state (aka deactivate it) when the user switches to a recording with a different application id.
range_selection_anchor_item: Option<Item>
Range selection anchor item.
This is the item we used as a starting point for range selection. It is set and remembered everytime the user clicks on an item without holding shift.
Implementations§
source§impl TimePanel
impl TimePanel
sourcepub fn ensure_registered_subscribers()
pub fn ensure_registered_subscribers()
Ensures that all required store subscribers are correctly set up.
This is implicitly called by Self::default
, but may need to be explicitly called in,
e.g., testing context.
pub fn new_blueprint_panel() -> Self
sourcepub fn activate_filter(&mut self, query: &str)
pub fn activate_filter(&mut self, query: &str)
Activates the search filter (for e.g. test purposes).
pub fn show_panel( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, entity_db: &EntityDb, rec_cfg: &RecordingConfig, ui: &mut Ui, state: PanelState, panel_frame: Frame, )
pub fn show_expanded_with_header( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, entity_db: &EntityDb, time_ctrl_after: &mut TimeControl, ui: &mut Ui, )
fn collapsed_ui( &mut self, ctx: &ViewerContext<'_>, entity_db: &EntityDb, ui: &mut Ui, time_ctrl: &mut TimeControl, )
fn expanded_ui( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, entity_db: &EntityDb, ui: &mut Ui, time_ctrl: &mut TimeControl, )
fn tree_ui( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, entity_db: &EntityDb, time_ctrl: &mut TimeControl, time_area_response: &Response, time_area_painter: &Painter, ui: &mut Ui, )
sourcefn show_entity(
&mut self,
ctx: &ViewerContext<'_>,
viewport_blueprint: &ViewportBlueprint,
streams_tree_data: &StreamsTreeData,
entity_db: &EntityDb,
time_ctrl: &mut TimeControl,
time_area_response: &Response,
time_area_painter: &Painter,
entity_data: &EntityData,
ui: &mut Ui,
)
fn show_entity( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, streams_tree_data: &StreamsTreeData, entity_db: &EntityDb, time_ctrl: &mut TimeControl, time_area_response: &Response, time_area_painter: &Painter, entity_data: &EntityData, ui: &mut Ui, )
Display the list item for an entity.
sourcefn show_entity_contents(
&mut self,
ctx: &ViewerContext<'_>,
viewport_blueprint: &ViewportBlueprint,
streams_tree_data: &StreamsTreeData,
entity_db: &EntityDb,
time_ctrl: &mut TimeControl,
time_area_response: &Response,
time_area_painter: &Painter,
entity_data: &EntityData,
ui: &mut Ui,
)
fn show_entity_contents( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, streams_tree_data: &StreamsTreeData, entity_db: &EntityDb, time_ctrl: &mut TimeControl, time_area_response: &Response, time_area_painter: &Painter, entity_data: &EntityData, ui: &mut Ui, )
Display the contents of an entity, i.e. its sub-entities and its components.
fn handle_interactions_for_item( &mut self, ctx: &ViewerContext<'_>, viewport_blueprint: &ViewportBlueprint, streams_tree_data: &StreamsTreeData, entity_db: &EntityDb, item: Item, response: &Response, is_draggable: bool, )
sourcefn handle_range_selection(
&mut self,
ctx: &ViewerContext<'_>,
streams_tree_data: &StreamsTreeData,
entity_db: &EntityDb,
item: Item,
response: &Response,
)
fn handle_range_selection( &mut self, ctx: &ViewerContext<'_>, streams_tree_data: &StreamsTreeData, entity_db: &EntityDb, item: Item, response: &Response, )
Handle setting/extending the selection based on shift-clicking.
sourcefn items_in_range(
ctx: &ViewerContext<'_>,
streams_tree_data: &StreamsTreeData,
entity_db: &EntityDb,
collapse_scope: CollapseScope,
anchor_item: &Item,
shift_clicked_item: &Item,
) -> Vec<Item>
fn items_in_range( ctx: &ViewerContext<'_>, streams_tree_data: &StreamsTreeData, entity_db: &EntityDb, collapse_scope: CollapseScope, anchor_item: &Item, shift_clicked_item: &Item, ) -> Vec<Item>
Selects a range of items in the streams tree.
This method selects all [Item
]s displayed between the provided shift-clicked item and the
existing last-clicked item (if any). It takes into account the collapsed state, so only
actually visible items may be selected.
fn top_row_ui( &self, ctx: &ViewerContext<'_>, entity_db: &EntityDb, ui: &mut Ui, time_ctrl: &mut TimeControl, )
fn collapse_scope(&self) -> CollapseScope
Trait Implementations§
source§impl<'de> Deserialize<'de> for TimePanel
impl<'de> Deserialize<'de> for TimePanel
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for TimePanel
impl RefUnwindSafe for TimePanel
impl Send for TimePanel
impl Sync for TimePanel
impl Unpin for TimePanel
impl UnwindSafe for TimePanel
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Conv for T
impl<T> Conv for T
§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>
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>
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)
&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)
&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>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.