private void OnClickButton(object sender, EventArgs e) { Button button = sender as Button; // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue f = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { string currentID = f.GetFactSlot("current").ToString(); if (button.Tag.Equals("Next")) { if (GetCheckedChoiceButton() == null) { clipsEnvironment.AssertString("(next " + currentID + ")"); } else { clipsEnvironment.AssertString("(next " + currentID + " " + (string)GetCheckedChoiceButton().Tag + ")"); } NextUIState(); } else if (button.Tag.Equals("Restart")) { clipsEnvironment.Reset(); NextUIState(); } else if (button.Tag.Equals("Prev")) { clipsEnvironment.AssertString("(prev " + currentID + ")"); NextUIState(); } } }
private void HandleResponse() { // Вытаскиаваем факт из ЭС String evalStr = "(find-fact ((?f ioproxy)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; MultifieldValue damf = (MultifieldValue)fv["messages"]; MultifieldValue vamf = (MultifieldValue)fv["answers"]; textBox2.Text += "Новая итерация : " + System.Environment.NewLine; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); textBox2.Text += Encoding.UTF8.GetString(bytes) + System.Environment.NewLine; } if (vamf.Count > 0) { textBox2.Text += "----------------------------------------------------" + System.Environment.NewLine; for (int i = 0; i < damf.Count; i++) { LexemeValue va = (LexemeValue)vamf[i]; textBox2.Text += va.Value + System.Environment.NewLine; } } clips.Eval("(assert (clearmessage))"); }
/* call this method from the fron end. * input = strButtonName = Next/Restart/Prev * initialFlag = call this for the first time * ChoiceOption = Yes / No */ public void HandleRequest(string strButtonName, bool initialFlag, string ChoiceOption) { ReturnValueClass returnValue = new ReturnValueClass(); String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue f = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { string currentID = f.GetFactSlot("current").ToString(); if (strButtonName.Equals("Next")) { if (initialFlag) { clipsEnvironment.AssertString("(next " + currentID + ")"); } else { clipsEnvironment.AssertString("(next " + currentID + " " + ChoiceOption + ")"); } returnValue = getNextUIState(); } else if (strButtonName.Equals("Restart")) { clipsEnvironment.Reset(); returnValue = getNextUIState(); } else if (strButtonName.Equals("Prev")) { clipsEnvironment.AssertString("(prev " + currentID + ")"); returnValue = getNextUIState(); } } }
public ReturnValueClass getNextUIState() { //run the clips first clipsEnvironment.Run(); ReturnValueClass returnValue = new ReturnValueClass(); // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { string currentID = allFacts.GetFactSlot("current").ToString(); evalStr = "(find-all-facts ((?f UI-state)) " + "(eq ?f:id " + currentID + "))"; } using (FactAddressValue evalFact = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { //get the state from clipse string state = evalFact.GetFactSlot("state").ToString(); returnValue.State = state; using (MultifieldValue validAnswers = (MultifieldValue)evalFact.GetFactSlot("valid-answers")) { for (int i = 0; i < validAnswers.Count; i++) { returnValue.validAnswers.Add((SymbolValue)validAnswers[i]); } } returnValue.displayQuestion = GetString((SymbolValue)evalFact.GetFactSlot("display")); } return(returnValue); }
private void NextUIState() { String evalStr = "(find-fact ((?f UI-state)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; if (fv.GetFactSlot("state").ToString().Equals("final")) { nextButton.Tag = "Restart"; nextButton.Content = "Restart"; choicesPanel.Visibility = Visibility.Collapsed; } else if (fv.GetFactSlot("state").ToString().Equals("initial")) { nextButton.Tag = "Next"; nextButton.Content = "Next >"; choicesPanel.Visibility = Visibility.Collapsed; } else { nextButton.Tag = "Next"; nextButton.Content = "Next >"; choicesPanel.Visibility = Visibility.Visible; } choicesPanel.Children.Clear(); relationAsserted = fv.GetFactSlot("relation-asserted").ToString(); if (relationAsserted == lastRelationAsserted) { clips.Run(1); NextUIState(); return; } lastRelationAsserted = relationAsserted; MultifieldValue va = (MultifieldValue)fv.GetFactSlot("valid-answers"); String selected = fv.GetFactSlot("response").ToString(); foreach (var item in va) { RadioButton rButton = new RadioButton(); rButton.Content = l[item.ToString()]; rButton.IsChecked = item.ToString() == selected; rButton.Tag = item.ToString(); rButton.Visibility = Visibility.Visible; rButton.Margin = new Thickness(5); choicesPanel.Children.Add(rButton); } messageTextBox.Text = l[fv.GetFactSlot("display").ToString()]; }
private void HandleResponse() { // Вытаскиаваем факт из ЭС String evalStr = "(find-fact ((?f ioproxy)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; MultifieldValue damf = (MultifieldValue)fv["messages"]; MultifieldValue vamf = (MultifieldValue)fv["answers"]; outputBox.Text += "Новая итерация : " + System.Environment.NewLine; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); string message = Encoding.UTF8.GetString(bytes); outputBox.Text += message + System.Environment.NewLine; string[] messages = message.Split(); string fact = messages.Last().ToString(); if (checkedListBox1.Items.Contains(fact)) { outputBox.Text += "для этой команды соперников контрпик найден" + System.Environment.NewLine; nextButton.Enabled = false; return; } } var phrases = new List <string>(); if (vamf.Count > 0) { outputBox.Text += "----------------------------------------------------" + System.Environment.NewLine; for (int i = 0; i < vamf.Count; i++) { // Варианты !!!!! LexemeValue va = (LexemeValue)vamf[i]; byte[] bytes = Encoding.Default.GetBytes(va.Value); string message = Encoding.UTF8.GetString(bytes); phrases.Add(message); outputBox.Text += "Добавлен вариант для распознавания " + message + System.Environment.NewLine; } } if (vamf.Count == 0) { clips.Eval("(assert (clearmessage))"); } else { NewRecognPhrases(phrases); } }
public string GetResponse() { try { string evalStr = string.Format("(find-all-facts ((?f UI-control))(eq ?f:id 1))"); using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)_theEnv.Eval(evalStr))[0]) { return(allFacts.GetFactSlot("message").ToString()); } } catch (Exception ex) { return(null); } }
private void HandleResponse() { // Вытаскиаваем факт из ЭС FactAddressValue fv = clips.FindFact("ioproxy"); MultifieldValue damf = (MultifieldValue)fv["messages"]; textBox1.Text = ""; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); textBox1.Text += Encoding.UTF8.GetString(bytes) + System.Environment.NewLine; } clips.Eval("(assert (clearmessage))"); }
private void HandleResponse() { // Вытаскиаваем факт из ЭС string evalStr = "(find-fact ((?f ioproxy)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; MultifieldValue damf = (MultifieldValue)fv["messages"]; MultifieldValue vamf = (MultifieldValue)fv["answers"]; textBox1.Text += "Новая итерация: " + System.Environment.NewLine; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); textBox1.Text += "Вопрос: " + Encoding.UTF8.GetString(bytes) + System.Environment.NewLine; } if (vamf.Count > 0) { List <string> answers = new List <string>(); LexemeValue da = (LexemeValue)damf[damf.Count - 1]; byte[] bytes = Encoding.Default.GetBytes(da.Value); string question = Encoding.UTF8.GetString(bytes) + System.Environment.NewLine; for (int i = 0; i < vamf.Count; i++) { LexemeValue va = (LexemeValue)vamf[i]; bytes = Encoding.Default.GetBytes(va.Value); answers.Add(Encoding.UTF8.GetString(bytes)); } Dialog df = new Dialog(question, answers); df.ShowDialog(this); textBox1.Text += "Ответ: " + answers[answer_index] + System.Environment.NewLine; textBox1.Text += "----------------------------------------------------" + System.Environment.NewLine; clips.Eval("(write-answer \"" + answers[answer_index] + "\" )"); } clips.Eval("(assert (clearmessage))"); }
private bool HandleResponse() { // Вытаскиаваем факт из ЭС String evalStr = "(find-fact ((?f ioproxy)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; MultifieldValue damf = (MultifieldValue)fv["messages"]; MultifieldValue vamf = (MultifieldValue)fv["answers"]; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); string message = Encoding.UTF8.GetString(bytes); outputBox.Text += message + System.Environment.NewLine; //if(message == "") //{ // if (vamf.Count == 0) // clips.Eval("(assert (clearmessage))"); // return false; //} } if (damf.Count == 0) { if (vamf.Count == 0) { clips.Eval("(assert (clearmessage))"); } return(false); } if (vamf.Count == 0) { clips.Eval("(assert (clearmessage))"); } return(true); }
public string GetFact(string template, string propertyToSearch, string valueToSearch, string tagResponse, string notFoundMessage, string compOperator) { try { string evalStr = string.Format("(find-all-facts ((?f " + template + "))(" + compOperator + " ?f:" + propertyToSearch + " " + valueToSearch + "))"); using (var muf = ((MultifieldValue)_theEnv.Eval(evalStr))) { var index = muf.Count - 1; using (FactAddressValue fv = (FactAddressValue)muf[index]) return(fv.GetFactSlot(tagResponse).ToString()); } //using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)_theEnv.Eval(evalStr))[0]) //{ // return allFacts.GetFactSlot(tagResponse).ToString(); //} } catch (Exception ex) { return(notFoundMessage); } }
private string HandleResponse() { string result = ""; // Вытаскиаваем факт из ЭС String evalStr = "(find-fact ((?f ioproxy)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; MultifieldValue damf = (MultifieldValue)fv["messages"]; MultifieldValue vamf = (MultifieldValue)fv["answers"]; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); result += Encoding.UTF8.GetString(bytes) + System.Environment.NewLine; } clips.Eval("(assert (clearmessage))"); return(result); }
private void HandleResponse() { // Вытаскиаваем факт из ЭС FactAddressValue fv = clips.FindFact("ioproxy"); MultifieldValue damf = (MultifieldValue)fv["messages"]; List <string> films = new List <string>(); for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; byte[] bytes = Encoding.Default.GetBytes(da.Value); var elem = Encoding.UTF8.GetString(bytes); films.Add(elem); } label_films.Text = ""; for (int i = 0; i < films.Count; i++) { label_films.Text += films[i].ToString() + "\n"; } clips.Eval("(assert (clearmessage))"); }
private void nextButton_Click(object sender, EventArgs e) { Button button = sender as Button; // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue f = (FactAddressValue)((MultifieldValue)Env.Eval(evalStr))[0]) { string currentID = f.GetFactSlot("current").ToString(); if (button.Tag.Equals("Next")) { if (GetCheckedChoiceButton() == null) { Env.AssertString("(next " + currentID + ")"); } else { string temp = (string)GetCheckedChoiceButton().Tag; temp = temp.Replace(' ', '_'); //MessageBox.Show(temp); Env.AssertString("(next " + currentID + " " + temp + ")"); } NextUIState(); } else if (button.Tag.Equals("Restart")) { Env.Reset(); NextUIState(); } else if (button.Tag.Equals("Prev")) { Env.AssertString("(prev " + currentID + ")"); NextUIState(); } } }
private void HandleResponse() { /*===========================*/ /* Get the current UI state. */ /*===========================*/ string evalStr = "(find-fact ((?f UI-state)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; /*========================================*/ /* Determine the Next/Prev button states. */ /*========================================*/ if (fv["state"].ToString().Equals("conclusion")) { interviewState = InterviewState.CONCLUSION; nextButton.Tag = "Restart"; nextButton.Content = "Restart"; prevButton.Visibility = Visibility.Hidden; scrollViewer.Visibility = Visibility.Visible; choicesPanel.Visibility = Visibility.Hidden; leftPanel.Visibility = Visibility.Hidden; rightPanel.Visibility = Visibility.Hidden; } else if (fv["state"].ToString().Equals("greeting")) { interviewState = InterviewState.GREETING; nextButton.Tag = "Next"; nextButton.Content = "Next >"; prevButton.Visibility = Visibility.Hidden; scrollViewer.Visibility = Visibility.Hidden; choicesPanel.Visibility = Visibility.Hidden; leftPanel.Visibility = Visibility.Hidden; rightPanel.Visibility = Visibility.Hidden; } else { interviewState = InterviewState.INTERVIEW; nextButton.Tag = "Next"; nextButton.Content = "Next >"; prevButton.Visibility = Visibility.Visible; scrollViewer.Visibility = Visibility.Hidden; choicesPanel.Visibility = Visibility.Visible; leftPanel.Visibility = Visibility.Visible; rightPanel.Visibility = Visibility.Visible; } leftLabel.Visibility = Visibility.Hidden; rightLabel.Visibility = Visibility.Hidden; // Show different image according to job group string currentPath = System.Environment.CurrentDirectory; string[] temp = currentPath.Split("\\".ToCharArray()); currentPath = ""; for (int i = 0; i < temp.Length - 2; i++) { currentPath += temp[i]; currentPath += "\\"; } /*=====================*/ /* Set up the choices. */ /*=====================*/ resultsPanel.Children.Clear(); choicesPanel.Children.Clear(); leftPanel.Children.Clear(); rightPanel.Children.Clear(); /*===========================*/ /* Set up the panel context. */ /*===========================*/ if (fv["state"].ToString().Equals("conclusion")) { MultifieldValue drmf = (MultifieldValue)fv["display-results"]; Label linkLabel = null; Run linkText = null; Hyperlink link = null; // Read excel for link of Job & Course & Prodiver List <string> jobNameList = new List <string>(); List <string> jobLinkList = new List <string>(); List <string> courseNameList = new List <string>(); List <string> courseLinkList = new List <string>(); List <string> providerNameList = new List <string>(); List <string> providerLinkList = new List <string>(); DataTable dt = new DataTable(); dt = LoadExcel(currentPath + "\\doc\\LinkData.xlsx", "Job"); for (int i = 0; i < dt.Rows.Count; i++) { jobNameList.Add(dt.Rows[i][0].ToString()); jobLinkList.Add(dt.Rows[i][1].ToString()); } dt = LoadExcel(currentPath + "\\doc\\LinkData.xlsx", "Course"); for (int i = 0; i < dt.Rows.Count; i++) { courseNameList.Add(dt.Rows[i][0].ToString()); courseLinkList.Add(dt.Rows[i][1].ToString()); } dt = LoadExcel(currentPath + "\\doc\\LinkData.xlsx", "Provider"); for (int i = 0; i < dt.Rows.Count; i++) { providerNameList.Add(dt.Rows[i][0].ToString()); providerLinkList.Add(dt.Rows[i][1].ToString()); } for (int i = 0; i < drmf.Count; i++) { LexemeValue dr = (LexemeValue)drmf[i]; string resultValue = dr.Value; string[] resultValues = resultValue.Split(';'); // Job StackPanel jPanel = new StackPanel(); jPanel.HorizontalAlignment = HorizontalAlignment.Left; jPanel.VerticalAlignment = VerticalAlignment.Center; jPanel.Orientation = Orientation.Horizontal; jPanel.Height = 40; Ellipse jEllipse = new Ellipse(); jEllipse.Width = 20; jEllipse.Height = 20; SolidColorBrush jSolidColorBrush = new SolidColorBrush(); jSolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); jEllipse.Fill = jSolidColorBrush; jPanel.Children.Add(jEllipse); linkLabel = new Label(); linkText = new Run(" " + resultValues[0].ToString()); link = new Hyperlink(linkText); link.NavigateUri = new Uri(jobLinkList[jobNameList.IndexOf(resultValues[0].ToString())]); link.RequestNavigate += new RequestNavigateEventHandler(delegate(object sender, RequestNavigateEventArgs e) { Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; }); link.MouseEnter += new MouseEventHandler(OnLinkMouseEnter); link.MouseLeave += new MouseEventHandler(OnLinkMouseLeave); link.Foreground = System.Windows.Media.Brushes.White; link.TextDecorations = null; linkLabel.Content = link; linkLabel.FontSize = 22; linkLabel.Foreground = System.Windows.Media.Brushes.White; jPanel.Children.Add(linkLabel); resultsPanel.Children.Add(jPanel); // Course1 StackPanel c1Panel = new StackPanel(); c1Panel.HorizontalAlignment = HorizontalAlignment.Left; c1Panel.VerticalAlignment = VerticalAlignment.Center; c1Panel.Orientation = Orientation.Horizontal; c1Panel.Height = 30; c1Panel.SetValue(Canvas.LeftProperty, 20d); Label c1Label = new Label(); c1Label.Content = " "; c1Panel.Children.Add(c1Label); Ellipse c1Ellipse = new Ellipse(); c1Ellipse.Width = 15; c1Ellipse.Height = 15; SolidColorBrush c1SolidColorBrush = new SolidColorBrush(); c1SolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); c1Ellipse.Fill = c1SolidColorBrush; c1Panel.Children.Add(c1Ellipse); linkLabel = new Label(); linkText = new Run(resultValues[1].ToString()); link = new Hyperlink(linkText); link.NavigateUri = new Uri(courseLinkList[courseNameList.IndexOf(resultValues[1].ToString())]); link.RequestNavigate += new RequestNavigateEventHandler(delegate(object sender, RequestNavigateEventArgs e) { Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; }); link.MouseEnter += new MouseEventHandler(OnLinkMouseEnter); link.MouseLeave += new MouseEventHandler(OnLinkMouseLeave); link.Foreground = System.Windows.Media.Brushes.White; link.TextDecorations = null; linkLabel.Content = link; linkLabel.FontSize = 18; linkLabel.Foreground = System.Windows.Media.Brushes.White; c1Panel.Children.Add(linkLabel); resultsPanel.Children.Add(c1Panel); // Provider1 StackPanel p1Panel = new StackPanel(); p1Panel.HorizontalAlignment = HorizontalAlignment.Left; p1Panel.VerticalAlignment = VerticalAlignment.Center; p1Panel.Orientation = Orientation.Horizontal; p1Panel.Height = 30; p1Panel.SetValue(Canvas.LeftProperty, 40d); Label p1Label = new Label(); p1Label.Content = " "; p1Panel.Children.Add(p1Label); Ellipse p1Ellipse = new Ellipse(); p1Ellipse.Width = 10; p1Ellipse.Height = 10; SolidColorBrush p1SolidColorBrush = new SolidColorBrush(); p1SolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); p1Ellipse.Fill = p1SolidColorBrush; p1Panel.Children.Add(p1Ellipse); linkLabel = new Label(); linkText = new Run(resultValues[3].ToString()); link = new Hyperlink(linkText); link.NavigateUri = new Uri(providerLinkList[providerNameList.IndexOf(resultValues[3].ToString())]); link.RequestNavigate += new RequestNavigateEventHandler(delegate(object sender, RequestNavigateEventArgs e) { Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; }); link.MouseEnter += new MouseEventHandler(OnLinkMouseEnter); link.MouseLeave += new MouseEventHandler(OnLinkMouseLeave); link.Foreground = System.Windows.Media.Brushes.White; link.TextDecorations = null; linkLabel.Content = link; linkLabel.FontSize = 14; linkLabel.Foreground = System.Windows.Media.Brushes.White; p1Panel.Children.Add(linkLabel); resultsPanel.Children.Add(p1Panel); // Course2 StackPanel c2Panel = new StackPanel(); c2Panel.HorizontalAlignment = HorizontalAlignment.Left; c2Panel.VerticalAlignment = VerticalAlignment.Center; c2Panel.Orientation = Orientation.Horizontal; c2Panel.Height = 30; c2Panel.SetValue(Canvas.LeftProperty, 20d); Label c2Label = new Label(); c2Label.Content = " "; c2Panel.Children.Add(c2Label); Ellipse c2Ellipse = new Ellipse(); c2Ellipse.Width = 15; c2Ellipse.Height = 15; SolidColorBrush c2SolidColorBrush = new SolidColorBrush(); c2SolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); c2Ellipse.Fill = c2SolidColorBrush; c2Panel.Children.Add(c2Ellipse); linkLabel = new Label(); linkText = new Run(resultValues[2].ToString()); link = new Hyperlink(linkText); link.NavigateUri = new Uri(courseLinkList[courseNameList.IndexOf(resultValues[2].ToString())]); link.RequestNavigate += new RequestNavigateEventHandler(delegate(object sender, RequestNavigateEventArgs e) { Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; }); link.MouseEnter += new MouseEventHandler(OnLinkMouseEnter); link.MouseLeave += new MouseEventHandler(OnLinkMouseLeave); link.Foreground = System.Windows.Media.Brushes.White; link.TextDecorations = null; linkLabel.Content = link; linkLabel.FontSize = 18; linkLabel.Foreground = System.Windows.Media.Brushes.White; c2Panel.Children.Add(linkLabel); resultsPanel.Children.Add(c2Panel); // Provider2 StackPanel p2Panel = new StackPanel(); p2Panel.HorizontalAlignment = HorizontalAlignment.Left; p2Panel.VerticalAlignment = VerticalAlignment.Center; p2Panel.Orientation = Orientation.Horizontal; p2Panel.Height = 30; p2Panel.SetValue(Canvas.LeftProperty, 40d); Label p2Label = new Label(); p2Label.Content = " "; p2Panel.Children.Add(p2Label); Ellipse p2Ellipse = new Ellipse(); p2Ellipse.Width = 10; p2Ellipse.Height = 10; SolidColorBrush p2SolidColorBrush = new SolidColorBrush(); p2SolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); p2Ellipse.Fill = p2SolidColorBrush; p2Panel.Children.Add(p2Ellipse); linkLabel = new Label(); linkText = new Run(resultValues[4].ToString()); link = new Hyperlink(linkText); link.NavigateUri = new Uri(providerLinkList[providerNameList.IndexOf(resultValues[4].ToString())]); link.RequestNavigate += new RequestNavigateEventHandler(delegate(object sender, RequestNavigateEventArgs e) { Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; }); link.MouseEnter += new MouseEventHandler(OnLinkMouseEnter); link.MouseLeave += new MouseEventHandler(OnLinkMouseLeave); link.Foreground = System.Windows.Media.Brushes.White; link.TextDecorations = null; linkLabel.Content = link; linkLabel.FontSize = 14; linkLabel.Foreground = System.Windows.Media.Brushes.White; p2Panel.Children.Add(linkLabel); resultsPanel.Children.Add(p2Panel); } scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.SetValue(Canvas.HeightProperty, 450d); resultsPanel.VerticalAlignment = VerticalAlignment.Top; Uri uri = null; if (jobGroup != null) { uri = new Uri(currentPath + "\\image\\" + jobGroup + ".png", UriKind.RelativeOrAbsolute); } else { uri = new Uri(currentPath + "\\image\\Path.png", UriKind.RelativeOrAbsolute); } BitmapImage bitmap = new BitmapImage(uri); pathImage.Source = bitmap; // Change window background if (jobGroup != null) { string color = ""; switch (jobGroup) { case "JobGroupsBA": color = "#FF20C2D7"; break; case "JobGroupsCC": color = "#FF0886B7"; break; case "JobGroupsDDM": color = "#FF27BBD5"; break; case "JobGroupsINS": color = "#FF007386"; break; case "JobGroupsISM": color = "#FF059DCC"; break; case "JobGroupsITM": color = "#FF008CAD"; break; case "JobGroupsSSD": color = "#FF00AB9B"; break; } prevButton.Background = nextButton.Background = this.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString(color)); } else { this.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF75B2B3")); } // Hidden progressBar progressPanel.Visibility = Visibility.Hidden; } else { MultifieldValue damf = (MultifieldValue)fv["display-answers"]; MultifieldValue vamf = (MultifieldValue)fv["valid-answers"]; string selected = fv["response"].ToString(); Button firstButton = null; RadioButton firstRadioButton = null; Uri uri = null; BitmapImage bitmap = null; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; LexemeValue va = (LexemeValue)vamf[i]; RadioButton rButton; Button button; string buttonName, buttonText, buttonAnswer; buttonName = da.Value; buttonText = buttonName.Substring(0, 1).ToUpperInvariant() + buttonName.Substring(1); buttonAnswer = va.Value; // Character if (fv["relation-asserted"].ToString().Equals("mind-types") || fv["relation-asserted"].ToString().Equals("see-things") || fv["relation-asserted"].ToString().Equals("judge-things") || fv["relation-asserted"].ToString().Equals("act-towards-changes")) { button = new Button(); // Button with image uri = new Uri(currentPath + "\\image\\" + buttonAnswer + ".png", UriKind.RelativeOrAbsolute); bitmap = new BitmapImage(uri); Image cellImage = new Image(); cellImage.Source = bitmap; button = new Button(); button.Content = cellImage; button.Tag = buttonAnswer; button.Width = 150; button.Height = 150; button.IsDefault = false; button.Click += OnClickButton; button.Visibility = Visibility.Visible; button.Margin = new Thickness(5); if (leftPanel.Children.Count == 0) { leftPanel.Children.Add(button); leftLabel.Content = buttonText; leftLabel.Visibility = Visibility.Visible; } else { rightPanel.Children.Add(button); rightLabel.Content = buttonText; rightLabel.Visibility = Visibility.Visible; } button.SetValue(Canvas.LeftProperty, 10d); button.SetValue(Canvas.TopProperty, 10d); button.SetValue(Canvas.BackgroundProperty, null); if (firstButton == null) { firstButton = button; } } else { rButton = new RadioButton(); rButton.Content = buttonText; if (((lastAnswer != null) && buttonAnswer.Equals(lastAnswer)) || ((lastAnswer == null) && buttonAnswer.Equals(selected))) { rButton.IsChecked = true; } else { rButton.IsChecked = false; } rButton.Tag = buttonAnswer; rButton.Visibility = Visibility.Visible; rButton.Margin = new Thickness(5); choicesPanel.Children.Add(rButton); if (firstRadioButton == null) { firstRadioButton = rButton; } } } if ((GetCheckedChoiceButton() == null) && (firstButton != null)) { firstButton.IsDefault = true; } if ((GetCheckedChoiceButton() == null) && (firstRadioButton != null)) { firstRadioButton.IsChecked = true; } relationAsserted = ((LexemeValue)fv["relation-asserted"]).Value; competency = fv["competency"].ToString(); // Change background when click Prev if (fv["state"].ToString().Equals("greeting")) { uri = new Uri(currentPath + "\\image\\Login.png", UriKind.RelativeOrAbsolute); } else { uri = new Uri(currentPath + "\\image\\Path.png", UriKind.RelativeOrAbsolute); } bitmap = new BitmapImage(uri); pathImage.Source = bitmap; prevButton.Background = nextButton.Background = this.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF75B2B3")); // Update progressBar progressBar.Value = variableAsserts.Count * 100 / 13; } /*====================================*/ /* Set the label to the display text. */ /*====================================*/ string messageString = ((StringValue)fv["display"]).Value; double theWidth = ComputeTextBoxWidth(messageString); messageTextBox.Width = theWidth; messageTextBox.MinWidth = theWidth; messageTextBox.Text = messageString; }
private void NextUIState() { nextButton.Visible = false; prevButton.Visible = false; choicesPanel.Controls.Clear(); clipsEnvironment.Run(); // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { string currentID = allFacts.GetFactSlot("current").ToString(); evalStr = "(find-all-facts ((?f UI-state)) " + "(eq ?f:id " + currentID + "))"; } using (FactAddressValue evalFact = (FactAddressValue)((MultifieldValue)clipsEnvironment.Eval(evalStr))[0]) { string state = evalFact.GetFactSlot("state").ToString(); if (state.Equals("initial")) { nextButton.Visible = true; nextButton.Tag = "Next"; nextButton.Text = "Next"; prevButton.Visible = false; } else if (state.Equals("final")) { nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; prevButton.Visible = false; } else { nextButton.Visible = true; nextButton.Tag = "Next"; prevButton.Tag = "Prev"; prevButton.Visible = true; } using (MultifieldValue validAnswers = (MultifieldValue)evalFact.GetFactSlot("valid-answers")) { //clear of the old label lblAnsClips.Text = string.Empty; String selected = evalFact.GetFactSlot("response").ToString(); for (int i = 0; i < validAnswers.Count; i++) { RadioButton rb = new RadioButton(); rb.Text = (SymbolValue)validAnswers[i]; rb.Tag = rb.Text; lblAnsClips.Text = lblAnsClips.Text + " " + rb.Text; rb.Visible = true; rb.Location = new Point(10, 20 * (i + 1)); choicesPanel.Controls.Add(rb); } lblAnsClips.Text = lblAnsClips.Text + " :Updated on " + DateTime.Now.ToLongTimeString(); } messageLabel.Text = GetString((SymbolValue)evalFact.GetFactSlot("display")); } }
private void NextUIState() { nextButton.Visible = false; prevButton.Visible = false; choicesPanel.Controls.Clear(); Env.Run(); // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)Env.Eval(evalStr))[0]) { string currentID = allFacts.GetFactSlot("current").ToString(); evalStr = "(find-all-facts ((?f UI-state)) " + "(eq ?f:id " + currentID + "))"; } using (FactAddressValue evalFact = (FactAddressValue)((MultifieldValue)Env.Eval(evalStr))[0]) { System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath(); gp.AddEllipse(0, 0, pictureBox1.Width - 3, pictureBox1.Height - 3); Region rg = new Region(gp); pictureBox1.Region = rg; pictureBox2.Region = rg; pictureBox3.Region = rg; string state = evalFact.GetFactSlot("state").ToString(); if (state.Equals("initial")) { pictureBox1.Visible = false; pictureBox2.Visible = false; pictureBox3.Visible = false; nextButton.Visible = true; nextButton.Tag = "Next"; nextButton.Text = "Next"; prevButton.Visible = false; } else if (state.Equals("finalPurple")) { choicesPanel.Visible = false; pictureBox1.BringToFront(); pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(173, 3, 252); prevButton.Visible = false; } else if (state.Equals("finalYellow")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(255, 255, 38); prevButton.Visible = false; } else if (state.Equals("finalGreen")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(17, 217, 34); prevButton.Visible = false; } else if (state.Equals("finalBlue")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(38, 107, 255); prevButton.Visible = false; } else if (state.Equals("finalRed")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(255, 38, 38); prevButton.Visible = false; } else if (state.Equals("finalBeige")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(247, 231, 139); prevButton.Visible = false; } else if (state.Equals("finalNavy")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(22, 8, 66); prevButton.Visible = false; } else if (state.Equals("finalOrange")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(255, 157, 0); prevButton.Visible = false; } else if (state.Equals("finalPink")) { pictureBox1.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(318, 150); pictureBox1.BackColor = Color.FromArgb(255, 0, 132); prevButton.Visible = false; } else if (state.Equals("finalOrangeGreen")) { pictureBox1.Visible = true; pictureBox2.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(280, 150); pictureBox2.Location = new Point(360, 150); pictureBox1.BackColor = Color.FromArgb(255, 157, 0); pictureBox2.BackColor = Color.FromArgb(17, 217, 34); prevButton.Visible = false; } else if (state.Equals("finalGreenWhiteBeige")) { pictureBox1.Visible = true; pictureBox2.Visible = true; pictureBox3.Visible = true; nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; pictureBox1.Location = new Point(250, 150); pictureBox2.Location = new Point(330, 150); pictureBox3.Location = new Point(390, 150); pictureBox1.BackColor = Color.FromArgb(17, 217, 34); pictureBox2.BackColor = Color.White; pictureBox3.BackColor = Color.FromArgb(247, 231, 139); prevButton.Visible = false; } else { pictureBox1.Visible = false; pictureBox2.Visible = false; pictureBox3.Visible = false; nextButton.Visible = true; nextButton.Tag = "Next"; prevButton.Tag = "Prev"; prevButton.Visible = true; } using (MultifieldValue validAnswers = (MultifieldValue)evalFact.GetFactSlot("valid-answers")) { String selected = evalFact.GetFactSlot("response").ToString(); for (int i = 0; i < validAnswers.Count; i++) { RadioButton rb = new RadioButton(); rb.Text = (SymbolValue)validAnswers[i]; rb.Tag = rb.Text; rb.Visible = true; rb.Location = new Point(200, 30 * (i + 1)); choicesPanel.Controls.Add(rb); } } messageLabel.Text = GetString((SymbolValue)evalFact.GetFactSlot("display")); } }
private void NextUIState() { messageLabel.Visible = false; nextButton.Visible = false; prevButton.Visible = false; label1.Visible = false; pictureBox1.Visible = false; pictureBox2.Visible = false; choicesPanel.Controls.Clear(); _theEnv.Run(); // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue allFacts = (FactAddressValue)((MultifieldValue)_theEnv.Eval(evalStr))[0]) { string currentID = allFacts.GetFactSlot("current").ToString(); evalStr = "(find-all-facts ((?f UI-state)) " + "(eq ?f:id " + currentID + "))"; } using (FactAddressValue evalFact = (FactAddressValue)((MultifieldValue)_theEnv.Eval(evalStr))[0]) { string state = evalFact.GetFactSlot("state").ToString(); if (state.Equals("initial")) { nextButton.Visible = true; nextButton.Tag = "Next"; nextButton.Text = "Next"; prevButton.Visible = false; } else if (state.Equals("final")) { nextButton.Visible = true; nextButton.Tag = "Restart"; nextButton.Text = "Restart"; prevButton.Visible = false; } else { nextButton.Visible = true; nextButton.Tag = "Next"; prevButton.Tag = "Prev"; prevButton.Visible = true; } messageLabel.Visible = true; messageLabel.Location = new Point(12, 9); messageLabel.Text = GetString((SymbolValue)evalFact.GetFactSlot("display")); Controls.Add(messageLabel); using (MultifieldValue validAnswers = (MultifieldValue)evalFact.GetFactSlot("valid-answers")) { String selected = evalFact.GetFactSlot("response").ToString(); String question = evalFact.GetFactSlot("display").ToString(); switch (question) { case "WelcomeMessage": SetQuestion("Program ma charakter wyłącznie \ninformacyjno-edukacyjny i wynik testu \nnie może być traktowany jak porada, \nkonsultacja lub diagnoza lekarza."); break; case "HighTemperatureQuestion": label1.Visible = true; label1.Text = "Korzystając z termometru wybierz aktualną temperaturę swojego ciała"; label1.Location = new Point(12, 47); Controls.Add(label1); pictureBox2.Image = new Bitmap("pasek.jpg"); pictureBox2.Location = new Point(216, 86); pictureBox2.Width = 11; pictureBox2.Height = 105; pictureBox2.Visible = true; Controls.Add(pictureBox2); pictureBox1.Image = new Bitmap("termometrmaly.jpg"); pictureBox1.Location = new Point(102, 36); pictureBox1.Width = 225; pictureBox1.Height = 235; pictureBox1.Visible = true; Controls.Add(pictureBox1); termometr = true; // zdefiniuj inny sposob przekazania wartosci formularza break; case "KichanieQuestion": SetQuestion("Zaznacz 'Tak', jeśli kichasz znacznie \nczęściej niż zdarzało Ci się to dotychczas \n(kilka-kilkanaście razy dziennie)."); break; case "PoczucieRozbiciaQuestion": SetQuestion("Zaznacz 'Tak', jeśli czujesz się bardziej \nzmęczony i osłabiony niż zazwyczaj."); break; case "BoleKostnoStawoweQuestion": SetQuestion("Zaznacz 'Tak', jeśli ból występuje i \nw ostatnim czasie nie wykonywałeś \nczynności wymagających dużego wysiłku \nfizycznego lub czujesz sztywność \nstawów po dłuzszym bezruchu."); break; case "BolGlowyQuestion": SetQuestion("Zaznacz 'Tak', jeśli ból nie występował \nprzedtem, nasilił się w ostatnim czasie."); break; case "DreszczeQuestion": SetQuestion("Zaznacz 'Tak', jeśli odczuwasz nieprzyjemny \nchłód oraz drżenie ciała pomimo \ntemperatury pokojowej pomieszczenia, \nw którym się znajdujesz."); break; case "DlugotrwalyKatarQuestion": SetQuestion("Zaznacz 'Tak', jeśli katar trwa \ndłuzej niż 2 tygodnie."); break; case "DryCoughQuestion": SetQuestion("Zaznacz 'Tak, jeśli podczas kaszlenia masz \nuczucie drażnienia w tchawicy, masz duszące \nataki kaszlu lub ustawicznie pokasłujesz. \nKaszel suchy jest męczący, brzmi jak \nposzczekiwanie i nie powoduje \nodkrztuszania wydzieliny."); break; case "SwiszczacyOddechQuestion": SetQuestion("Zaznacz 'Tak' jeśli wydechowi towarzyszy \nciągły, wysoki dzwięk przypominający świst."); break; case "SuchyKaszelQuestion": SetQuestion("Zaznacz 'Tak', jeśli masz napady dusznosci, \nczujesz ucisk w klatce piersiowej, a \nobjawy nasilaja się po wysilku fizycznym."); break; case "RozpulchnienieQuestion": SetQuestion("Zaznacz 'Tak', jeśli z trudem mówisz, nie \nmożesz przełknąć śliny, męczy Cię chrypka. \nOpuchnięte gardło często jest przyczyną \ndotkliwego bólu podczas przełykania."); break; case "ZaczerwienienieQuestion": SetQuestion("Zaznacz 'Tak' jeśli zauważyłeś/aś, że \nmasz przekrwioną błonę śluzową gardła \noraz migdałki. \nNierzadko są one również opuchnięte."); break; } if (!termometr) // jesli pytanie nie dotyczylo temperatury - dodaj przyciski yes/no { int[] coord = { 3, 26 }; for (int i = 0; i < validAnswers.Count; i++) { RadioButton rb = new RadioButton(); switch ((SymbolValue)validAnswers[i]) { case "No": rb.Text = "Nie"; break; case "Yes": rb.Text = "Tak"; break; } rb.Tag = rb.Text; rb.Visible = true; rb.Location = new Point(3, coord[i]); if (i == 0) { rb.Checked = true; } choicesPanel.Controls.Add(rb); } } } } }
private void HandleResponse() { /*===========================*/ /* Get the current UI state. */ /*===========================*/ String evalStr = "(find-fact ((?f UI-state)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; /*========================================*/ /* Determine the Next/Prev button states. */ /*========================================*/ if (fv.GetFactSlot("state").ToString().Equals("conclusion")) { interviewState = InterviewState.CONCLUSION; nextButton.Tag = "Restart"; nextButton.Content = "Restart"; prevButton.Visibility = Visibility.Visible; choicesPanel.Visibility = Visibility.Collapsed; } else if (fv.GetFactSlot("state").ToString().Equals("greeting")) { interviewState = InterviewState.GREETING; nextButton.Tag = "Next"; nextButton.Content = "Next >"; prevButton.Visibility = Visibility.Collapsed; choicesPanel.Visibility = Visibility.Collapsed; } else { interviewState = InterviewState.INTERVIEW; nextButton.Tag = "Next"; nextButton.Content = "Next >"; prevButton.Visibility = Visibility.Visible; choicesPanel.Visibility = Visibility.Visible; } /*=====================*/ /* Set up the choices. */ /*=====================*/ choicesPanel.Children.Clear(); MultifieldValue damf = (MultifieldValue)fv.GetFactSlot("display-answers"); MultifieldValue vamf = (MultifieldValue)fv.GetFactSlot("valid-answers"); String selected = fv.GetFactSlot("response").ToString(); RadioButton firstButton = null; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; LexemeValue va = (LexemeValue)vamf[i]; RadioButton rButton; String buttonName, buttonText, buttonAnswer; buttonName = da.GetLexemeValue(); buttonText = buttonName.Substring(0, 1).ToUpperInvariant() + buttonName.Substring(1); buttonAnswer = va.GetLexemeValue(); rButton = new RadioButton(); rButton.Content = buttonText; if (((lastAnswer != null) && buttonAnswer.Equals(lastAnswer)) || ((lastAnswer == null) && buttonAnswer.Equals(selected))) { rButton.IsChecked = true; } else { rButton.IsChecked = false; } rButton.Tag = buttonAnswer; rButton.Visibility = Visibility.Visible; rButton.Margin = new Thickness(5); choicesPanel.Children.Add(rButton); if (firstButton == null) { firstButton = rButton; } } if ((GetCheckedChoiceButton() == null) && (firstButton != null)) { firstButton.IsChecked = true; } /*====================================*/ /* Set the label to the display text. */ /*====================================*/ relationAsserted = ((LexemeValue)fv.GetFactSlot("relation-asserted")).GetLexemeValue(); /*====================================*/ /* Set the label to the display text. */ /*====================================*/ String messageString = ((StringValue)fv.GetFactSlot("display")).GetStringValue(); double theWidth = ComputeTextBoxWidth(messageString); messageTextBox.Width = theWidth; messageTextBox.MinWidth = theWidth; messageTextBox.Text = messageString; }
private void HandleResponse() { /*===========================*/ /* Get the current UI state. */ /*===========================*/ String evalStr = "(find-fact ((?f UI-state)) TRUE)"; FactAddressValue fv = (FactAddressValue)((MultifieldValue)clips.Eval(evalStr))[0]; /*========================================*/ /* Determine the Next/Prev button states. */ /*========================================*/ if (fv["state"].ToString().Equals("conclusion")) { interviewState = InterviewState.CONCLUSION; //nextButton.Tag = "Restart"; //nextButton.Text = "Restart"; nextButton.Visible = false; prevButton.Visible = true; choicesPanel.Visible = false; } else if (fv["state"].ToString().Equals("greeting")) { interviewState = InterviewState.GREETING; nextButton.Visible = false; //nextButton.Tag = "Next"; //nextButton.Text = "Next >"; prevButton.Visible = false; choicesPanel.Visible = false; } else { interviewState = InterviewState.INTERVIEW; nextButton.Visible = true; nextButton.Tag = "Next"; nextButton.Text = "Next >"; prevButton.Visible = false; choicesPanel.Visible = true; if (priorAnswers.Count < 1) { prevButton.Visible = false; } } /*=====================*/ /* Set up the choices. */ /*=====================*/ choicesPanel.Controls.Clear(); MultifieldValue damf = (MultifieldValue)fv["display-answers"]; MultifieldValue vamf = (MultifieldValue)fv["valid-answers"]; String selected = fv["response"].ToString(); RadioButton firstButton = null; for (int i = 0; i < damf.Count; i++) { LexemeValue da = (LexemeValue)damf[i]; LexemeValue va = (LexemeValue)vamf[i]; RadioButton rButton; String buttonName, buttonText, buttonAnswer; buttonName = da.Value; buttonText = buttonName.Substring(0, 1).ToUpperInvariant() + buttonName.Substring(1); buttonAnswer = va.Value; rButton = new RadioButton(); rButton.Text = buttonText; if (((lastAnswer != null) && buttonAnswer.Equals(lastAnswer)) || ((lastAnswer == null) && buttonAnswer.Equals(selected))) { rButton.Checked = true; } else { rButton.Checked = false; } rButton.Tag = buttonAnswer; rButton.Visible = true; rButton.AutoSize = true; choicesPanel.Controls.Add(rButton); if (firstButton == null) { firstButton = rButton; } } if ((GetCheckedChoiceButton() == null) && (firstButton != null)) { firstButton.Checked = true; } /*====================================*/ /* Set the label to the display text. */ /*====================================*/ relationAsserted = ((LexemeValue)fv["relation-asserted"]).Value; /*====================================*/ /* Set the label to the display text. */ /*====================================*/ String messageString = ((StringValue)fv["display"]).Value; messageLabel.Text = messageString; }
private void OnClickButton(object sender, EventArgs e) { Button button = sender as Button; // Get the state-list. String evalStr = "(find-all-facts ((?f state-list)) TRUE)"; using (FactAddressValue f = (FactAddressValue)((MultifieldValue)_theEnv.Eval(evalStr))[0]) { string currentID = f.GetFactSlot("current").ToString(); if (button.Tag.Equals("Next")) { if (GetCheckedChoiceButton() == null) { if (termometr) { if (goraczka) { _theEnv.AssertString("(next " + currentID + " " + "Yes" + ")"); } else { _theEnv.AssertString("(next " + currentID + " " + "No" + ")"); } termometr = false; } else { _theEnv.AssertString("(next " + currentID + ")"); } } else { switch ((string)GetCheckedChoiceButton().Tag) { case "Tak": _theEnv.AssertString("(next " + currentID + " " + "Yes" + ")"); break; case "Nie": _theEnv.AssertString("(next " + currentID + " " + "No" + ")"); break; } } NextUIState(); } else if (button.Tag.Equals("Restart")) { _theEnv.Reset(); NextUIState(); } else if (button.Tag.Equals("Prev")) { _theEnv.AssertString("(prev " + currentID + ")"); NextUIState(); } } }