1
0
Fork 0

Temporarily add more widgets to vizia Gain GUI

This commit is contained in:
Robbert van der Helm 2022-03-20 01:23:44 +01:00
parent 4f9a83860b
commit 1a9db3ab8e
3 changed files with 25 additions and 3 deletions

View file

@ -307,7 +307,10 @@ impl View for ParamSlider {
match window_event {
WindowEvent::MouseDown(MouseButton::Left) => {
if cx.modifiers.alt() {
// ALt+Click brings up a text entry dialog
cx.emit(ParamSliderInternalEvent::SetTextInputActive(true));
cx.current.set_active(cx, true);
// TODO: Once vizia implements it: (and probably do this from
// `SetTextInputActive`)
// - Focus the text box

View file

@ -24,7 +24,7 @@ impl Model for Data {}
// Makes sense to also define this here, makes it a bit easier to keep track of
pub(crate) fn default_state() -> Arc<ViziaState> {
ViziaState::from_size(200, 150)
ViziaState::from_size(200, 250)
}
pub(crate) fn create(
@ -41,7 +41,7 @@ pub(crate) fn create(
}
.build(cx);
VStack::new(cx, move |cx| {
VStack::new(cx, |cx| {
Label::new(cx, "Gain GUI")
.font(assets::NOTO_SANS_THIN)
.font_size(40.0 * POINT_SCALE)
@ -52,7 +52,17 @@ pub(crate) fn create(
// compensate for that
Label::new(cx, "Gain").bottom(Pixels(-1.0));
VStack::new(cx, |cx| {
ParamSlider::new(cx, Data::params, setter, |params| &params.gain);
ParamSlider::new(cx, Data::params, setter, |params| &params.gain)
.set_style(ParamSliderStyle::FromLeft);
ParamSlider::new(cx, Data::params, setter, |params| &params.foo);
ParamSlider::new(cx, Data::params, setter, |params| &params.foo)
.set_style(ParamSliderStyle::CurrentStep);
ParamSlider::new(cx, Data::params, setter, |params| &params.foo)
.set_style(ParamSliderStyle::CurrentStepLabeled);
})
.row_between(Pixels(5.0));
// TODO: Add a peak meter
})

View file

@ -26,6 +26,14 @@ struct Gain {
pub struct GainParams {
#[id = "gain"]
pub gain: FloatParam,
#[id = "foo"]
pub foo: EnumParam<Foo>,
}
#[derive(Debug, PartialEq, Eq, Enum)]
pub enum Foo {
Foo,
Bar,
}
impl Default for Gain {
@ -54,6 +62,7 @@ impl Default for GainParams {
.with_smoother(SmoothingStyle::Linear(50.0))
.with_step_size(0.01)
.with_unit(" dB"),
foo: EnumParam::new("Foo", Foo::Bar),
}
}
}