pub struct GenericUi;
Expand description

Shows a generic UI for a Params object. For additional flexibility you can either use the new() method to have the generic UI decide which widget to use for your parameters, or you can use the new_custom() method to determine this yourself.

Implementations§

source§

impl GenericUi

source

pub fn new<L, PsRef, Ps>(cx: &mut Context, params: L) -> Handle<'_, GenericUi>where L: Lens<Target = PsRef> + Clone, PsRef: AsRef<Ps> + 'static, Ps: Params + 'static,

Creates a new GenericUi for all provided parameters. Use new_custom() to decide which widget gets used for each parameter.

Wrap this in a [ScrollView] for plugins with longer parameter lists:

ScrollView::new(cx, 0.0, 0.0, false, true, |cx| {
    GenericUi::new(cx, Data::params);
})
.width(Percentage(100.0));
source

pub fn new_custom<L, PsRef, Ps>( cx: &mut Context, params: L, make_widget: impl FnMut(&mut Context, ParamPtr) ) -> Handle<'_, Self>where L: Lens<Target = PsRef>, PsRef: AsRef<Ps> + 'static, Ps: Params + 'static,

Creates a new GenericUi for all provided parameters using a custom closure that receives a function that should draw some widget for each parameter.

source

pub fn draw_widget<L, PsRef, Ps>( cx: &mut Context, params: L, param_ptr: ParamPtr )where L: Lens<Target = PsRef>, PsRef: AsRef<Ps> + 'static, Ps: Params + 'static,

The standard widget drawing function. This can be used together with .new_custom() to only draw the labels differently.

Trait Implementations§

source§

impl View for GenericUi

source§

fn element(&self) -> Option<&'static str>

The name of the view. This is used in css: to style every single one of a given view, you specify the element name.
§

fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>where F: FnOnce(&mut Context),

§

fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)

§

fn draw(&self, cx: &mut DrawContext<'_>, canvas: &mut Canvas<OpenGl>)

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

source§

impl<T, U> Into<U> for Twhere 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

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
§

impl<T, U> ToSample<U> for Twhere U: FromSample<T>,

§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.
§

impl<T> ViewHandler for Twhere T: View + 'static,

§

fn element(&self) -> Option<&'static str>

§

fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)

§

fn draw(&self, cx: &mut DrawContext<'_>, canvas: &mut Canvas<OpenGl>)

§

fn as_any_ref(&self) -> &(dyn Any + 'static)

§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

§

impl<T> Any for Twhere T: Any,

§

impl<S, T> Duplex<S> for Twhere T: FromSample<S> + ToSample<S>,