private void InitializeQuestionnaire(FileInfo qlFile, FileInfo qlsFile)
        {
            try
            {
                var form       = ParseQLFile(qlFile);
                var styleSheet = ParseQLSFile(qlsFile);

                var qlReport = ValidateQuestionForm(form);
                OutputTextBox.AppendText(qlReport.ToString());

                var qlsReport = ValidateStyleSheet(styleSheet, form);
                OutputTextBox.AppendText(qlsReport.ToString());

                if (qlReport.NrOfErrors == 0 && qlsReport.NrOfErrors == 0)
                {
                    QuestionStyleCollection questionStyles = GetQuestionStyles(styleSheet, form);

                    var ui = BuildUI(styleSheet, questionStyles, form);
                    SplitPanel.Panel1.Controls.Add(ui);
                }
                else
                {
                    MessageBox.Show("Validation errors in the questionnaire and/or style sheet AST. See Output Window for details."
                                    , "Validation errors", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    SplitPanel.Panel2Collapsed = false;
                }
            }
            catch (Exception ex)
            {
                Output.WriteLine("ERROR - {0}", ex.ToString());
                MessageBox.Show("Exception occured. See Output Window for details.", "Unhandled exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #2
0
        public Control BuildUI(StyleSheet styleSheet, QuestionStyleCollection questionStyles, QuestionForm questionForm, OutputWindow outputWindow)
        {
            _questionStyles  = questionStyles;
            _questionForm    = questionForm;
            _outputWindow    = outputWindow;
            _questionWidgets = new List <QuestionWidget>();

            return(VisitStyleSheet(styleSheet));
        }
 private Control BuildUI(StyleSheet styleSheet, QuestionStyleCollection questionStyles, QuestionForm form)
 {
     try
     {
         var uiBuilder = new StyleSheetUIBuilder();
         return(uiBuilder.BuildUI(styleSheet, questionStyles, form, Output));
     }
     catch (Exception ex)
     {
         throw new ApplicationException("An unexpected error occured during creating of the styled user interface.", ex);
     }
 }