Skip to main content

ProfileCard

Struct ProfileCard 

Source
pub struct ProfileCard<'a> { /* private fields */ }
Expand description

A profile card that embeds in any layout and sends follow requests to the directory’s Profiles service. Details and follow state stay host-owned. Nothing is cached in the card, so replacing the directory’s service clears what it shows.

Handle NotificationsAction::OpenProfile by selecting its profile in the host’s layout, then call show for it. Keep polling the directory every frame, including while the card is hidden. Install an egui image loader to display host-provided avatar URIs.

use egui_charts::services::{ProfileDirectory, ProfileId};
use egui_charts::ui::profile::ProfileCard;

let mut directory = ProfileDirectory::new(); // Attach the host with set_service.
let selected = ProfileId("ada".into());
directory.poll(ui.ctx());
ProfileCard::new(&selected).show(ui, &mut directory);

Implementations§

Source§

impl<'a> ProfileCard<'a>

Source

pub fn new(id: &'a ProfileId) -> Self

Shows the profile with this host identifier, or an unavailable state until it is pushed.

Source

pub fn show(self, ui: &mut Ui, directory: &mut ProfileDirectory)

Draws the latest details, follow control and any pending request or host failure. A failed request keeps the reported follow state and may be retried or dismissed.

Auto Trait Implementations§

§

impl<'a> Freeze for ProfileCard<'a>

§

impl<'a> RefUnwindSafe for ProfileCard<'a>

§

impl<'a> Send for ProfileCard<'a>

§

impl<'a> Sync for ProfileCard<'a>

§

impl<'a> Unpin for ProfileCard<'a>

§

impl<'a> UnsafeUnpin for ProfileCard<'a>

§

impl<'a> UnwindSafe for ProfileCard<'a>

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

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> MaybeSend for T
where T: Send + Sync + ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

Source§

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

Source§

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>,

Source§

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.