private void load(LayoutManager manager) { Children = new Drawable[] { rubyAlignmentDropdown = new LabelledDropdown <LyricTextAlignment> { Label = "Ruby alignment", Description = "Ruby alignment section", Items = EnumUtils.GetValues <LyricTextAlignment>() }, romajiAlignmentDropdown = new LabelledDropdown <LyricTextAlignment> { Label = "Romaji alignment", Description = "Romaji alignment section", Items = EnumUtils.GetValues <LyricTextAlignment>() }, rubyMarginSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Ruby margin", Description = "Ruby margin section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 30, Value = 10, Default = 10 } }, romajiMarginSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Romaji margin", Description = "Romaji margin section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 30, Value = 10, Default = 10 } } }; manager.LoadedLayout.BindValueChanged(e => { var layout = e.NewValue; applyCurrent(rubyAlignmentDropdown.Current, layout.RubyAlignment); applyCurrent(romajiAlignmentDropdown.Current, layout.RomajiAlignment); applyCurrent(rubyMarginSliderBar.Current, layout.RubyMargin); applyCurrent(romajiMarginSliderBar.Current, layout.RomajiMargin); void applyCurrent <T>(Bindable <T> bindable, T value) => bindable.Value = bindable.Default = value; }, true); rubyAlignmentDropdown.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RubyAlignment = x.NewValue)); romajiAlignmentDropdown.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RomajiAlignment = x.NewValue)); rubyMarginSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RubyMargin = x.NewValue)); romajiMarginSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RomajiMargin = x.NewValue)); }
private void load(LayoutManager manager) { Children = new Drawable[] { alignmentDropdown = new LabelledDropdown <Anchor> { Label = "Anchor", Description = "Anchor section", Items = EnumUtils.GetValues <Anchor>() }, horizontalMarginSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Horizontal margin", Description = "Horizontal margin section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 500, Value = 30, Default = 30 } }, verticalMarginSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Vertical margin", Description = "Vertical margin section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 500, Value = 30, Default = 30 } }, smartHorizonDropdown = new LabelledDropdown <KaraokeTextSmartHorizon> { Label = "Smart horizon", Description = "Smart horizon section", Items = EnumUtils.GetValues <KaraokeTextSmartHorizon>() } }; manager.LoadedLayout.BindValueChanged(e => { var layout = e.NewValue; applyCurrent(alignmentDropdown.Current, layout.Alignment); applyCurrent(horizontalMarginSliderBar.Current, layout.HorizontalMargin); applyCurrent(verticalMarginSliderBar.Current, layout.VerticalMargin); applyCurrent(smartHorizonDropdown.Current, layout.SmartHorizon); void applyCurrent <T>(Bindable <T> bindable, T value) => bindable.Value = bindable.Default = value; }, true); alignmentDropdown.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.Alignment = x.NewValue)); horizontalMarginSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.HorizontalMargin = x.NewValue)); verticalMarginSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.VerticalMargin = x.NewValue)); smartHorizonDropdown.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.SmartHorizon = x.NewValue)); }
private void load(LayoutManager manager) { Children = new[] { lyricIntervalSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Lyrics interval", Description = "Lyrics interval section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 30, Value = 10, Default = 10 } }, rubyIntervalSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Ruby interval", Description = "Ruby interval section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 30, Value = 10, Default = 10 } }, romajiIntervalSliderBar = new LabelledRealTimeSliderBar <int> { Label = "Romaji interval", Description = "Romaji interval section", Current = new BindableNumber <int> { MinValue = 0, MaxValue = 30, Value = 10, Default = 10 } } }; manager.LoadedLayout.BindValueChanged(e => { var layout = e.NewValue; applyCurrent(lyricIntervalSliderBar.Current, layout.LyricsInterval); applyCurrent(rubyIntervalSliderBar.Current, layout.RubyInterval); applyCurrent(romajiIntervalSliderBar.Current, layout.RomajiInterval); void applyCurrent <T>(Bindable <T> bindable, T value) => bindable.Value = bindable.Default = value; }, true); lyricIntervalSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.LyricsInterval = x.NewValue)); rubyIntervalSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RubyInterval = x.NewValue)); romajiIntervalSliderBar.Current.BindValueChanged(x => manager.ApplyCurrentLayoutChange(l => l.RomajiInterval = x.NewValue)); }