示例#1
0
        private void evaluateYoga(XmlYogaNode n)
        {
            bool         bRet = fy.evaluateYoga(n);
            ListViewItem li   = new ListViewItem();

            li.Text = bRet.ToString();
            li.SubItems.Add(n.yogaCat);
            li.SubItems.Add(n.yogaName);
            li.SubItems.Add(n.result);
            li.SubItems.Add(n.mhoraRule);
            this.mList.Items.Add(li);
        }
示例#2
0
        private void evaluateYogasHelper()
        {
            this.resetColumns();
            XmlYogaNode yn    = null;
            string      sLine = "";
            string      sType = "";

            StreamReader objReader = new StreamReader(MhoraGlobalOptions.Instance.YogasFileName);

            while ((sLine = objReader.ReadLine()) != null)
            {
                if (sLine.Length > 0 && sLine[0] == '#')
                {
                    continue;
                }

                sType = "";


                Match m = Regex.Match(sLine, "^([^:]*)::(.*)$");
                if (m.Success)
                {
                    sType = m.Groups[1].Value;
                    sLine = m.Groups[2].Value;
                }

                switch (sType.ToLower())
                {
                case "entry":
                    if (null != yn && yn.mhoraRule != null && yn.mhoraRule.Length > 0)
                    {
                        this.evaluateYoga(yn);
                    }
                    yn = new XmlYogaNode();
                    break;

                case "rule":
                    yn.mhoraRule += sLine;
                    break;

                case "sourceref":
                case "ref":
                    yn.sourceRef += sLine;
                    break;

                case "sourcetext":
                    yn.sourceText += sLine;
                    break;

                case "sourceitxtext":
                    yn.sourceItxText += sLine;
                    break;

                case "yogacat":
                    yn.yogaCat += sLine;
                    break;

                case "yoganame":
                    yn.yogaName += sLine;
                    break;

                default:
                case "result":
                    if (null != yn)
                    {
                        yn.result += sLine;
                    }
                    break;
                }
            }

            objReader.Close();
            this.ColorAndFontRows(this.mList);
        }
示例#3
0
 public bool evaluateYoga(XmlYogaNode n)
 {
     xmlNode = n;
     return(this.evaluateYoga(n.mhoraRule));
 }