コード例 #1
0
ファイル: InspectionPage.cs プロジェクト: SRCA/CPPApp
        public InspectionPage(Inspection inspection)
        {
            this.inspection = inspection;
            Title           = inspection.Name;

            /*ToolbarItem scoreButton = new ToolbarItem();
             * scoreButton.Text = "Scores";
             * //scoreButton.Icon = "ScoresIcon.png";
             * scoreButton.Clicked += ClickScoresButton;
             *
             * ToolbarItem unansweredButton = new ToolbarItem();
             * unansweredButton.Text = "Unanswered";
             * unansweredButton.Clicked += ClickUnansweredButton;
             * ToolbarItem disputedButton = new ToolbarItem();
             * disputedButton.Text = "Disputed";
             * disputedButton.Clicked += ClickDisputedButton;
             *
             * ToolbarItem reportButton = new ToolbarItem();
             * reportButton.Text = "Report";
             * reportButton.Clicked += ClickReportButton;*/

            ToolbarItem actionsButton = new ToolbarItem();

            actionsButton.Text     = "Actions";
            actionsButton.Clicked += ClickActionsButton;

            //ToolbarItems.Add(scoreButton);
            //ToolbarItems.Add(unansweredButton);
            //ToolbarItems.Add(disputedButton);
            //ToolbarItems.Add(reportButton);
            ToolbarItems.Add(actionsButton);
            ChecklistModel checklist = inspection.Checklist;

            foreach (SectionModel section in checklist.Sections)
            {
                if (section.SectionParts.Count > 0)
                {
                    SectionWithPartsPage page = new SectionWithPartsPage(section, inspection, this);
                    Children.Add(page);
                }
                else
                {
                    SectionNoPartsPage page = new SectionNoPartsPage(section, inspection, this);
                    Children.Add(page);
                }
            }
            if (inspection.GetLastViewedQuestion() == null)
            {
                inspection.SetLastViewedQuestion(checklist.Sections.First().AllScorableQuestions().First());
            }
            this.CurrentPageChanged += this.PageChanged;
            Question     targetQuestion = inspection.GetLastViewedQuestion();
            ISectionPage targetPage     = SetSectionPage(targetQuestion.section);

            targetPage.Initialize();
            targetPage.SetSelectedQuestion(targetQuestion);
        }
コード例 #2
0
ファイル: InspectionHelper.cs プロジェクト: reevesand/CCPApp
        private async static void clickQuestionButton(object sender, EventArgs e)
        {
            GoToQuestionButton button      = (GoToQuestionButton)sender;
            ISectionPage       sectionPage = button.inspectionPage.SetSectionPage(button.question.section);

            sectionPage.SetSelectedQuestion(button.question);

            await App.Navigation.PopAsync();
        }
コード例 #3
0
ファイル: InspectionPage.cs プロジェクト: SRCA/CPPApp
        private void PageChanged(object sender, EventArgs e)
        {
            if (CurrentPage == null)
            {                   //clicking "More" can yield a null page.
                return;
            }
            ISectionPage page = (ISectionPage)CurrentPage;

            page.Initialize();
            inspection.SetLastViewedQuestion(page.GetCurrentQuestion());
        }
コード例 #4
0
ファイル: InspectionHelper.cs プロジェクト: reevesand/CCPApp
        internal static List <QuestionPage> GenerateQuestionPages(List <Question> questions, Inspection inspection, ISectionPage sectionPage)
        {
            List <QuestionPage> pages                 = new List <QuestionPage>();
            string           MasterQuestionText       = string.Empty;
            List <Reference> MasterQuestionReferences = new List <Reference>();
            int MasterQuestionNumber = -2;

            foreach (Question question in questions)
            {
                QuestionPage page = null;
                if (question.HasSubItems)
                {
                    MasterQuestionNumber     = question.Number;
                    MasterQuestionText       = question.Text.Trim();
                    MasterQuestionReferences = question.References;
                }
                else if (question.Number == MasterQuestionNumber)
                {
                    page = new QuestionPage(question, inspection, MasterQuestionText + "\n" + question.Text.Trim(), MasterQuestionReferences);
                }
                else
                {
                    page = new QuestionPage(question, inspection);
                }
                if (page != null)
                {
                    page.sectionPage = sectionPage;
                    pages.Add(page);
                }
            }
            return(pages);
        }