Example #1
0
        public TestSceneBeatmapListingSearchControl()
        {
            OsuSpriteText query;
            OsuSpriteText ruleset;
            OsuSpriteText category;
            OsuSpriteText genre;
            OsuSpriteText language;

            Add(control = new BeatmapListingSearchControl
            {
                Anchor = Anchor.Centre,
                Origin = Anchor.Centre,
            });

            Add(new FillFlowContainer
            {
                AutoSizeAxes = Axes.Both,
                Direction    = FillDirection.Vertical,
                Spacing      = new Vector2(0, 5),
                Children     = new Drawable[]
                {
                    query    = new OsuSpriteText(),
                    ruleset  = new OsuSpriteText(),
                    category = new OsuSpriteText(),
                    genre    = new OsuSpriteText(),
                    language = new OsuSpriteText(),
                }
            });

            control.Query.BindValueChanged(q => query.Text       = $"Query: {q.NewValue}", true);
            control.Ruleset.BindValueChanged(r => ruleset.Text   = $"Ruleset: {r.NewValue}", true);
            control.Category.BindValueChanged(c => category.Text = $"Category: {c.NewValue}", true);
            control.Genre.BindValueChanged(g => genre.Text       = $"Genre: {g.NewValue}", true);
            control.Language.BindValueChanged(l => language.Text = $"Language: {l.NewValue}", true);
        }
        public void SetUp() => Schedule(() =>
        {
            OsuSpriteText query;
            OsuSpriteText general;
            OsuSpriteText ruleset;
            OsuSpriteText category;
            OsuSpriteText genre;
            OsuSpriteText language;
            OsuSpriteText extra;
            OsuSpriteText ranks;
            OsuSpriteText played;
            OsuSpriteText explicitMap;

            Children = new Drawable[]
            {
                control = new BeatmapListingSearchControl
                {
                    Anchor = Anchor.Centre,
                    Origin = Anchor.Centre,
                },
                new FillFlowContainer
                {
                    AutoSizeAxes = Axes.Both,
                    Direction    = FillDirection.Vertical,
                    Spacing      = new Vector2(0, 5),
                    Children     = new Drawable[]
                    {
                        query       = new OsuSpriteText(),
                        general     = new OsuSpriteText(),
                        ruleset     = new OsuSpriteText(),
                        category    = new OsuSpriteText(),
                        genre       = new OsuSpriteText(),
                        language    = new OsuSpriteText(),
                        extra       = new OsuSpriteText(),
                        ranks       = new OsuSpriteText(),
                        played      = new OsuSpriteText(),
                        explicitMap = new OsuSpriteText(),
                    }
                }
            };

            control.Query.BindValueChanged(q => query.Text = $"Query: {q.NewValue}", true);
            control.General.BindCollectionChanged((u, v) => general.Text = $"General: {(control.General.Any() ? string.Join('.', control.General.Select(i => i.ToString().Underscore())) : "")}", true);
            control.Ruleset.BindValueChanged(r => ruleset.Text           = $"Ruleset: {r.NewValue}", true);
            control.Category.BindValueChanged(c => category.Text         = $"Category: {c.NewValue}", true);
            control.Genre.BindValueChanged(g => genre.Text                 = $"Genre: {g.NewValue}", true);
            control.Language.BindValueChanged(l => language.Text           = $"Language: {l.NewValue}", true);
            control.Extra.BindCollectionChanged((u, v) => extra.Text       = $"Extra: {(control.Extra.Any() ? string.Join('.', control.Extra.Select(i => i.ToString().ToLowerInvariant())) : "")}", true);
            control.Ranks.BindCollectionChanged((u, v) => ranks.Text       = $"Ranks: {(control.Ranks.Any() ? string.Join('.', control.Ranks.Select(i => i.ToString())) : "")}", true);
            control.Played.BindValueChanged(p => played.Text               = $"Played: {p.NewValue}", true);
            control.ExplicitContent.BindValueChanged(e => explicitMap.Text = $"Explicit Maps: {e.NewValue}", true);
        });