Exemple #1
0
        void UpdateText(ViewModel.Node node, NodeAspect aspect)
        {
            switch (aspect)
            {
            case NodeAspect.NodeHeader:
                if (node == null)
                {
                    base.Text = "<<null>>";
                }
                else if (node is ViewModel.CaptureNode cn)
                {
                    base.Text = String.Format("c[{0}]:", cn.Index);
                }
                else if (node is ViewModel.GroupNode gn)
                {
                    base.Text = String.Format("g[{0} or \"{1}\"]:", gn.Number, gn.Name);
                }
                else if (node is ViewModel.MatchNode mn)
                {
                    base.Text = String.Format("m[{0}]:", mn.Index);
                }
                else if (node is ViewModel.LineNode ln)
                {
                    base.Text = String.Format("l[{0}]:", ln.Index);
                }
                break;

            case NodeAspect.NodeText:
                if (node == null)
                {
                    base.Text = "<<null>>";
                }
                else if (!node.Success)
                {
                    base.Text = "--- FAILURE ---";
                }
                else if (String.IsNullOrEmpty(node.Text))
                {
                    base.Text = "--- EMPTY ---";
                }
                else
                {
                    base.Text = PrepareNodeText(node.Text);
                }
                break;

            case NodeAspect.TooltipHeader:
                if (node == null)
                {
                    base.Text = "<<null>>";
                }
                else if (node is ViewModel.CaptureNode cn)
                {
                    base.Text = String.Format("group.Captures[{0}]", cn.Index);
                }
                else if (node is ViewModel.GroupNode gn)
                {
                    base.Text = String.Format("match.Groups[{0}] or match.Groups[\"{1}\"]", gn.Number, gn.Name);
                }
                else if (node is ViewModel.MatchNode mn)
                {
                    base.Text = String.Format("matches[{0}]", mn.Index);
                }
                else if (node is ViewModel.LineNode ln)
                {
                    base.Text = String.Format("lines[{0}]", ln.Index);
                }
                break;

            case NodeAspect.TooltipText:
                if (node == null)
                {
                    base.Text = "<<null>>";
                }
                else if (String.IsNullOrEmpty(node.Text))
                {
                    base.Text = "--- EMPTY ---";
                }
                else
                {
                    base.Text = PrepareTooltipText(node.Text);
                }
                break;
            }
        }
Exemple #2
0
 void AspectChanged(NodeAspect aspect)
 {
     UpdateText(Node, aspect);
 }