Struct re_blueprint_tree::blueprint_tree::BlueprintTree

source ·
pub struct BlueprintTree {
    blueprint_tree_scroll_to_item: Option<Item>,
    candidate_drop_parent_container_id: Option<ContainerId>,
    next_candidate_drop_parent_container_id: Option<ContainerId>,
}
Expand description

Holds the state of the blueprint tree UI.

Fields§

§blueprint_tree_scroll_to_item: Option<Item>

The item that should be focused on in the blueprint tree.

Set at each frame by Self::tree_ui. This is similar to ViewerContext::focused_item but account for how specifically the blueprint tree should handle the focused item.

§candidate_drop_parent_container_id: Option<ContainerId>

Current candidate parent container for the ongoing drop. Should be drawn with special highlight.

See Self::is_candidate_drop_parent_container for details.

§next_candidate_drop_parent_container_id: Option<ContainerId>

Candidate parent container to be drawn on next frame.

We double-buffer this value to deal with ordering constraints.

Implementations§

source§

impl BlueprintTree

source

pub fn show( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui )

Show the Blueprint section of the left panel based on the current ViewportBlueprint

source

fn tree_ui( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui )

Show the blueprint panel tree view.

source

fn scroll_to_me_if_needed(&self, ui: &Ui, item: &Item, response: &Response)

Check if the provided item should be scrolled to.

source

fn default_open_for_data_result(group: &DataResultNode) -> bool

If a group or spaceview has a total of this number of elements, show its subtree by default?

source

fn contents_ui( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui, contents: &Contents, parent_visible: bool )

source

fn root_container_tree_ui( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui )

Display the root container.

The root container is different from other containers in that it cannot be removed or dragged, and it cannot be collapsed, so it’s drawn without a collapsing triangle.

source

fn container_tree_ui( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui, container_id: &ContainerId, parent_visible: bool )

source

fn space_view_entry_ui( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui, space_view_id: &SpaceViewId, container_visible: bool )

source

fn space_view_entity_hierarchy_ui( &self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui, query_result: &DataQueryResult, node_or_path: &DataResultNodeOrPath<'_>, space_view: &SpaceViewBlueprint, space_view_visible: bool, projection_mode: bool )

source

fn add_new_spaceview_button_ui( &self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &mut Ui )

Add a button to trigger the addition of a new space view or container.

source

fn handle_root_container_drag_and_drop_interaction( &mut self, blueprint: &ViewportBlueprint, ui: &Ui, contents: Contents, response: &Response )

source

fn handle_drag_and_drop_interaction( &mut self, ctx: &ViewerContext<'_>, blueprint: &ViewportBlueprint, ui: &Ui, contents: Contents, response: &Response, body_response: Option<&Response> )

source

fn handle_empty_space_drag_and_drop_interaction( &mut self, blueprint: &ViewportBlueprint, ui: &Ui, empty_space: Rect )

source

fn handle_drop_target( &mut self, blueprint: &ViewportBlueprint, ui: &Ui, dragged_item_id: Contents, drop_target: &DropTarget<Contents> )

source

fn is_candidate_drop_parent_container(&self, container_id: &ContainerId) -> bool

Is the provided container the current candidate parent container for the ongoing drag?

When a drag is in progress, the candidate parent container for the dragged item should be highlighted. Note that this can happen when hovering said container, its direct children, or even the item just after it.

Trait Implementations§

source§

impl Default for BlueprintTree

source§

fn default() -> BlueprintTree

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: 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>

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)

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)

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
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

source§

fn lossy_into(self) -> Dst

Performs the conversion.
§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
§

impl<T> To for T
where T: ?Sized,

§

fn to<T>(self) -> T
where Self: Into<T>,

Converts to T by calling Into<T>::into.
§

fn try_to<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Tries to convert to T by calling TryInto<T>::try_into.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

§

impl<T> Ungil for T
where T: Send,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,