Exemplo n.º 1
0
        public void EffectsTest(bool canExecute)
        {
            //Arrange

            //Act
            SelectionPage.TapEffectsPageButton();

            if (canExecute)
            {
                EffectsPage.ToggleCanExecuteSwitch();
            }

            EffectsPage.TapEffectsEntryReturnButton();

            if (canExecute)
            {
                EffectsPage.AcceptClosingDialogPopup();
            }

            //Assert
            if (canExecute)
            {
                App.WaitForElement(PageTitles.Selection);
            }
            else
            {
                App.WaitForElement(PageTitles.Effects);
            }
        }
Exemplo n.º 2
0
        async public void LangSetting_Click(object sender, EventArgs e)
        {
            var list = new List <string>(LanguageHelper.LanguageList.Values);

            if (Device.OS == TargetPlatform.WinPhone)
            {
                var langPage = new SelectionPage(contentUI.TxtLanguageSel, list);

                langPage.SelList.ItemSelected += (ss, ee) =>
                {
                    var selLang = ee.SelectedItem.ToString();

                    if (!String.IsNullOrEmpty(selLang))
                    {
                        AppParameters.Config.SystemLang = LanguageHelper.LangNameToEnum(selLang);
                        CurrLanguageName = selLang;
                    }
                };

                await ViewPage.Navigation.PushModalAsync(langPage, true);
            }
            else
            {
                var selLang = await ViewPage.DisplayActionSheet(contentUI.TxtLanguageSel, null, null, list.ToArray());

                if (!String.IsNullOrEmpty(selLang))
                {
                    AppParameters.Config.SystemLang = LanguageHelper.LangNameToEnum(selLang);
                    CurrLanguageName = selLang;
                }
            }
        }
Exemplo n.º 3
0
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            SelectionPage help = new SelectionPage();

            Main.Children.Clear();
            Main.Children.Add(help);
        }
Exemplo n.º 4
0
        public void CustomRendererTest(bool canExecute)
        {
            //Arrange

            //Act
            SelectionPage.TapCustomRendererPageButton();

            if (canExecute)
            {
                CustomRendererPage.ToggleCanExecuteSwitch();
            }

            CustomRendererPage.TapCustomReturnEntryReturnButton();

            if (canExecute)
            {
                CustomRendererPage.AcceptClosingDialogPopup();
            }

            //Assert
            if (canExecute)
            {
                App.WaitForElement(PageTitles.Selection);
            }
            else
            {
                App.WaitForElement(PageTitles.CustomRenderer);
            }
        }
Exemplo n.º 5
0
        public override void TestSetup()
        {
            base.TestSetup();

            SelectionPage      = new SelectionPage(App);
            EffectsPage        = new EffectsPage(App);
            CustomRendererPage = new CustomRendererPage(App);
        }
Exemplo n.º 6
0
        public void EffectsTest()
        {
            //Arrange

            //Act
            SelectionPage.TapEffectsPageButton();
            EffectsPage.TapEffectsEntryReturnButton();
            EffectsPage.AcceptClosingDialogPopup();

            //Assert
            App.WaitForElement(PageTitles.Selection);
        }
Exemplo n.º 7
0
        public void CustomRendererTest()
        {
            //Arrange

            //Act
            SelectionPage.TapCustomRendererPageButton();
            CustomRendererPage.TapCustomReturnEntryReturnButton();
            CustomRendererPage.AcceptClosingDialogPopup();

            //Assert
            App.WaitForElement(PageTitles.Selection);
        }
Exemplo n.º 8
0
        protected async Task <SelectionPage <T> .SelectionResult> RunSelectionPageAsync <T> (
            IEnumerable <IEnumerable <T> > rows,
            string title = "Choose",
            Func <T, string> toStringConverter = null
            )
        {
            var page   = new SelectionPage <T> (Menu, rows, this, title, toStringConverter);
            var result = await page.DisplayAndWaitAsync( ).ConfigureAwait(false);

            if (!result)
            {
                await Menu.SwitchPageAsync(this).ConfigureAwait(false);
            }
            return(result);
        }
        public override BaseReactionSelection <TValue> Build()
        {
            if (Selectables == null)
            {
                throw new ArgumentException(nameof(Selectables));
            }
            if (Selectables.Count == 0)
            {
                throw new InvalidOperationException("You need at least one selectable");
            }
            if (AllowCancel && Selectables.Keys.Contains(CancelEmote))
            {
                throw new InvalidOperationException("Found duplicate emotes! (Cancel Emote)");
            }
            if (Selectables.Distinct().Count() != Selectables.Count)
            {
                throw new InvalidOperationException("Found duplicate emotes!");
            }
            if (AllowCancel && CancelEmote == null)
            {
                throw new ArgumentNullException(nameof(CancelEmote));
            }

            if (EnableDefaultSelectionDescription)
            {
                var builder = new StringBuilder();

                foreach (var selectable in Selectables)
                {
                    string option = StringConverter.Invoke(selectable.Value);
                    builder.AppendLine($"{selectable.Key} - {option}");
                }

                SelectionPage.AddField(Title, builder.ToString());
            }

            return(new ReactionSelection <TValue>(
                       Selectables.AsReadOnly(),
                       Users?.AsReadOnly() ?? throw new ArgumentException(nameof(Users)),
                       SelectionPage?.Build() ?? throw new ArgumentNullException(nameof(SelectionPage)),
                       CancelledPage?.Build(),
                       TimeoutedPage?.Build(),
                       AllowCancel,
                       CancelEmote,
                       Deletion
                       ));
        }
Exemplo n.º 10
0
        async internal void MapSetting_Click(object sender, EventArgs e)
        {
            var list = new List <string>(MapTile.TileSourceList.Values);

            if (Device.OS == TargetPlatform.WinPhone)
            {
                var mapPage = new SelectionPage(contentUI.TxtMapSel, list);

                mapPage.SelList.ItemSelected += (ss, ee) =>
                {
                    var selMap = ee.SelectedItem.ToString();
                    SetMapSettings(selMap);
                };

                await ViewPage.Navigation.PushModalAsync(mapPage, true);
            }
            else
            {
                var selMap = await ViewPage.DisplayActionSheet(contentUI.TxtMapSel, null, null, list.ToArray());

                SetMapSettings(selMap);
            }
        }
Exemplo n.º 11
0
        private IEnumerable <SelectionPage> GetSourceCodePages(GitHubSourceDirectory sourceDirectory, SelectionPagedView view)
        {
            var pages = new List <SelectionPage>(sourceDirectory.Files.Count);

            var fileListEmbed = new LocalEmbed()
                                .WithDefaultColor()
                                .WithTitle($"Directory: {sourceDirectory.Filename}")
                                .WithDescription("**Files**\n" + string.Join("\n", sourceDirectory.Files.Select(x => Markdown.Link(x.Filename, x.Url))));

            var fileListPage = new Page().AddEmbed(fileListEmbed);

            pages.Add(new SelectionPage(fileListPage, "./"));

            async Task <Page> ParentFolderListPageFunc()
            {
                sourceDirectory = (GitHubSourceDirectory)await _sourceBrowser.GetPathAsync(sourceDirectory.Path + "/..");

                view.SetPageProvider(new SelectionPageProvider(GetSourceCodePages(sourceDirectory, view)));
                return(await view.PageProvider.GetPageAsync(view));
            }

            pages.Add(new SelectionPage(ParentFolderListPageFunc, "../"));

            foreach (var file in sourceDirectory.Files)
            {
                async Task <Page> PageFunction()
                {
                    var page        = new Page();
                    var fetchedFile = await _sourceBrowser.GetPathAsync(file.Path);

                    switch (fetchedFile)
                    {
                    case GitHubSourceFile sourceFile:
                    {
                        if (sourceFile.Content.Length > LocalMessageBase.MaxContentLength)
                        {
                            return(page.WithContent($"File too large to display. View online: {Markdown.Link(sourceFile.Filename, sourceFile.Url)}"));
                        }

                        page.WithContent(Markdown.CodeBlock("csharp", sourceFile.Content));
                        break;
                    }

                    case GitHubSourceDirectory sourceDirectory:
                    {
                        view.SetPageProvider(new SelectionPageProvider(GetSourceCodePages(sourceDirectory, view)));
                        page = await view.PageProvider.GetPageAsync(view);

                        break;
                    }
                    }

                    return(page);
                }

                var page = new SelectionPage(PageFunction, file.Filename);
                pages.Add(page);
            }

            return(pages);
        }
Exemplo n.º 12
0
        public override void TestSetup()
        {
            base.TestSetup();

            SelectionPage.WaitForPageToLoad();
        }
Exemplo n.º 13
0
        public App()
        {
            InitializeComponent();

            MainPage = new SelectionPage();
        }
Exemplo n.º 14
0
        public override BaseMessageSelection <TValue> Build()
        {
            if (Selectables == null)
            {
                throw new ArgumentException(nameof(Selectables));
            }
            if (Selectables.Count == 0)
            {
                throw new InvalidOperationException("You need at least one selectable");
            }

            var selectableDictionary = new Dictionary <string[], TValue>();
            var descriptionBuilder   = new StringBuilder();

            for (int i = 0; i < Selectables.Count; i++)
            {
                var    selectable = Selectables[i];
                string text       = StringConverter.Invoke(selectable);
                selectableDictionary.Add(new string[]
                {
                    $"{i + 1}",
                    $"#{i + 1}",
                    text,
                    $"#{i + 1} - {text}"
                },
                                         selectable);

                if (EnableDefaultSelectionDescription)
                {
                    descriptionBuilder.AppendLine($"#{i + 1} - {text}");
                }
            }

            if (AllowCancel)
            {
                selectableDictionary.Add(new string[]
                {
                    $"{Selectables.Count + 1}",
                    $"#{Selectables.Count + 1}",
                    CancelMessage,
                    $"#{Selectables.Count + 1} - {CancelMessage}"
                },
                                         default);

                if (EnableDefaultSelectionDescription)
                {
                    descriptionBuilder.Append($"#{Selectables.Count + 1} - {CancelMessage}");
                }
            }

            if (EnableDefaultSelectionDescription)
            {
                SelectionPage.AddField(Title, descriptionBuilder.ToString());
            }

            return(new MessageSelection <TValue>(
                       selectableDictionary.AsReadOnly(),
                       Users?.AsReadOnly() ?? throw new ArgumentException(nameof(Users)),
                       SelectionPage?.Build() ?? throw new ArgumentNullException(nameof(SelectionPage)),
                       CancelledPage?.Build(),
                       TimeoutedPage?.Build(),
                       AllowCancel,
                       CancelMessage,
                       Deletion
                       ));
        }