private TreeNode ProcessOr(SHXmlCore xmlCore, TreeNode nodeParent, SHOr or)
        {
            if (or == null || nodeParent == null)
            {
                return(null);
            }

            TreeNode nodeThis = new TreeNode(or.GetString(xmlCore));

            nodeThis.ImageIndex         = 5;
            nodeThis.SelectedImageIndex = 5;
            nodeThis.Tag = or;
            nodeParent.Nodes.Add(nodeThis);

            if (or.and != null)
            {
                ProcessAnd(xmlCore, nodeThis, or.and);
            }

            if (or.or != null)
            {
                ProcessOr(xmlCore, nodeThis, or.or);
            }

            for (int i = 0; i < or.dataList.Count; i++)
            {
                SHCondition  cond = or.dataList[i] as SHCondition;
                ListViewItem lvi  = new ListViewItem();

                ProcessCondition(xmlCore, nodeThis, cond);
            }

            return(nodeThis);
        }
        private void pgConditionElement_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            TreeNode     node = null;
            ListView     lv   = null;
            TreeView     tv   = null;
            VelixianForm tab  = null;

            node = tvIConditionDetail.SelectedNode;
            lv   = lvIConditions;
            tv   = tvIConditionDetail;
            tab  = Global._VelixianForms.FindForm("ITEMCONDITION");

            if (node.Tag.GetType() == typeof(SHConditions))
            {
                SHConditions conds = (SHConditions)node.Tag;
                node.Text = conds.GetString(xmlCore);
            }
            else if (node.Tag.GetType() == typeof(SHCondition))
            {
                SHCondition cond = (SHCondition)node.Tag;
                node.Text = cond.GetString(xmlCore);
            }
            else if (node.Tag.GetType() == typeof(SHAnd))
            {
                SHAnd and = (SHAnd)node.Tag;
                node.Text = and.GetString(xmlCore);
            }
            else if (node.Tag.GetType() == typeof(SHOr))
            {
                SHOr or = (SHOr)node.Tag;
                node.Text = or.GetString(xmlCore);
            }

            if (node.Tag != null)
            {
                if (lv.SelectedItems[0].Tag == tv.TopNode.Tag)
                {
                    SHConditions conds = (SHConditions)tv.Nodes[0].Tag;
                    m_ListViewController.SetListText(lv.SelectedItems[0], conds);
                }
            }

            tab.Touch();
        }