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); } }
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); } }