Ejemplo n.º 1
0
 /// <summary>
 /// Sets the explanation for this explain box
 /// </summary>
 /// <param name="explanation"></param>
 public void setExplanation(DataDictionary.Interpreter.ExplanationPart explanation)
 {
     explainTreeView.Nodes.Clear();
     ExplainTreeNode node = new ExplainTreeNode(explanation);
     innerSetExplanation(explanation, node, 0);
     explainTreeView.Nodes.Add(node);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Sets the explanation for this explain box
        /// </summary>
        /// <param name="explanation"></param>
        public void setExplanation(DataDictionary.Interpreter.ExplanationPart explanation)
        {
            explainTreeView.Nodes.Clear();
            ExplainTreeNode node = new ExplainTreeNode(explanation);

            innerSetExplanation(explanation, node, 0);
            explainTreeView.Nodes.Add(node);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Handles the selection of an element of the treeview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void explainTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            ExplainTreeNode node = explainTreeView.SelectedNode as ExplainTreeNode;

            if (node != null)
            {
                node.SelectModel();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     Handles a double click event on a tree node
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void explainTreeView_DoubleClick(object sender, EventArgs e)
        {
            MouseEventArgs mouseEventArgs = e as MouseEventArgs;

            if (mouseEventArgs != null)
            {
                ExplainTreeNode node = explainTreeView.GetNodeAt(mouseEventArgs.Location) as ExplainTreeNode;
                SelectModelElement(node, mouseEventArgs);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        ///     Sets the explanation for this explain box
        /// </summary>
        /// <param name="explanation"></param>
        public void SetExplanation(ExplanationPart explanation)
        {
            Explanation = explanation;

            explainTreeView.Nodes.Clear();
            if (explanation != null)
            {
                ExplainTreeNode node = new ExplainTreeNode(explanation);
                node.UpdateText();
                InnerSetExplanation(explanation, node, 0);
                explainTreeView.Nodes.Add(node);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        ///     Sets the explanation for this explain box
        /// </summary>
        /// <param name="explanation"></param>
        public void SetExplanation(ExplanationPart explanation)
        {
            Explanation = explanation;

            explainTreeView.Nodes.Clear();
            if (explanation != null)
            {
                ExplainTreeNode node = new ExplainTreeNode(explanation);
                node.UpdateText();
                InnerSetExplanation(explanation, node, 0);
                explainTreeView.Nodes.Add(node);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        ///     Handles the selection of an element of the treeview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void explainTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            ExplainTreeNode node = explainTreeView.SelectedNode as ExplainTreeNode;

            if (node != null && node.Explanation != null && node.Explanation.Element != null)
            {
                if (ModifierKeys == Keys.Control)
                {
                    EfsSystem.Instance.Context.SelectElement(node.Explanation.Element, this,
                                                             Context.SelectionCriteria.DoubleClick);
                }
                explainRichTextBox.Instance = Explanation;
                explainRichTextBox.Text     = Explanation.Message;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Sets the node, and its subnode according to the content of the explanation
        /// </summary>
        /// <param name="part"></param>
        /// <param name="node"></param>
        /// <param param name="level">the level in which the explanation is inserted</param>
        private void innerSetExplanation(DataDictionary.Interpreter.ExplanationPart part, ExplainTreeNode node, int level)
        {
            foreach (DataDictionary.Interpreter.ExplanationPart subPart in part.SubExplanations)
            {
                ExplainTreeNode subNode = new ExplainTreeNode(subPart);
                innerSetExplanation(subPart, subNode, level + 1);
                node.Nodes.Add(subNode);
            }

            if (level <= 2)
            {
                node.Expand();
            }
            else
            {
                node.Collapse();
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Sets the node, and its subnode according to the content of the explanation
        /// </summary>
        /// <param name="part"></param>
        /// <param name="node"></param>
        /// <param param name="level">the level in which the explanation is inserted</param>
        private void innerSetExplanation(DataDictionary.Interpreter.ExplanationPart part, ExplainTreeNode node, int level)
        {
            foreach (DataDictionary.Interpreter.ExplanationPart subPart in part.SubExplanations)
            {
                ExplainTreeNode subNode = new ExplainTreeNode(subPart);
                innerSetExplanation(subPart, subNode, level + 1);
                node.Nodes.Add(subNode);
            }

            if (level <= 2)
            {
                node.Expand();
            }
            else
            {
                node.Collapse();
            }
        }
Ejemplo n.º 10
0
        private void explainTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            ExplainTreeNode node = e.Node as ExplainTreeNode;

            if (node != null)
            {
                foreach (ExplainTreeNode subNode in node.Nodes)
                {
                    subNode.Nodes.Clear();
                    InnerSetExplanation(subNode.Explanation, subNode, 1);
                }

                foreach (ExplainTreeNode subNode in node.Nodes)
                {
                    subNode.UpdateText();
                }
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        ///     Sets the node, and its subnode according to the content of the explanation
        /// </summary>
        /// <param name="part"></param>
        /// <param name="node"></param>
        /// <param name="level">the level in which the explanation is inserted</param>
        private void InnerSetExplanation(ExplanationPart part, ExplainTreeNode node, int level)
        {
            if (part != null)
            {
                foreach (ExplanationPart subPart in part.SubExplanations)
                {
                    int nextLevel = level;
                    if (level >= 0)
                    {
                        nextLevel += 1;
                    }

                    if (level < 2)
                    {
                        ExplainTreeNode subNode = new ExplainTreeNode(subPart);
                        InnerSetExplanation(subPart, subNode, nextLevel);
                        node.Nodes.Add(subNode);
                    }
                }
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        ///     Selects the model element which corresponds to the explain tree node
        ///     If the current node does not refer to a model element, selects the one from its parent node
        /// </summary>
        /// <param name="node"></param>
        /// <param name="mouseEventArgs"></param>
        private void SelectModelElement(ExplainTreeNode node, MouseEventArgs mouseEventArgs)
        {
            while (node != null)
            {
                ModelElement model = node.Explanation.LeftPart as ModelElement;
                if (model == null)
                {
                    model = node.Explanation.Element;
                }

                if (model != null)
                {
                    Context.SelectionCriteria criteria = GuiUtils.SelectionCriteriaBasedOnMouseEvent(mouseEventArgs);
                    EfsSystem.Instance.Context.SelectElement(model, this, criteria);
                    node = null;
                }
                else
                {
                    node = node.Parent as ExplainTreeNode;
                }
            }
        }
Ejemplo n.º 13
0
 /// <summary>
 ///     Selects the model element which corresponds to the explain tree node
 ///     If the current node does not refer to a model element, selects the one from its parent node
 /// </summary>
 /// <param name="node"></param>
 /// <param name="mouseEventArgs"></param>
 private void SelectModelElement(ExplainTreeNode node, MouseEventArgs mouseEventArgs)
 {
     while (node != null)
     {
         if (node.Explanation.Element != null)
         {
             Context.SelectionCriteria criteria = GuiUtils.SelectionCriteriaBasedOnMouseEvent(mouseEventArgs);
             EFSSystem.INSTANCE.Context.SelectElement(node.Explanation.Element, this, criteria);
             node = null;
         }
         else
         {
             node = node.Parent as ExplainTreeNode;
         }
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        ///     Sets the node, and its subnode according to the content of the explanation
        /// </summary>
        /// <param name="part"></param>
        /// <param name="node"></param>
        /// <param name="level">the level in which the explanation is inserted</param>
        private void InnerSetExplanation(ExplanationPart part, ExplainTreeNode node, int level)
        {
            if (part != null)
            {
                foreach (ExplanationPart subPart in part.SubExplanations)
                {
                    int nextLevel = level;
                    if (level >= 0)
                    {
                        nextLevel += 1;
                    }

                    if (level < 2)
                    {
                        ExplainTreeNode subNode = new ExplainTreeNode(subPart);
                        InnerSetExplanation(subPart, subNode, nextLevel);
                        node.Nodes.Add(subNode);
                    }
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        ///     Selects the model element which corresponds to the explain tree node
        ///     If the current node does not refer to a model element, selects the one from its parent node
        /// </summary>
        /// <param name="node"></param>
        /// <param name="mouseEventArgs"></param>
        private void SelectModelElement(ExplainTreeNode node, MouseEventArgs mouseEventArgs)
        {
            while (node != null)
            {
                ModelElement model = node.Explanation.LeftPart as ModelElement;
                if ( model == null )
                {
                    model = node.Explanation.Element;
                }

                if (model != null)
                {
                    Context.SelectionCriteria criteria = GuiUtils.SelectionCriteriaBasedOnMouseEvent(mouseEventArgs);
                    EfsSystem.Instance.Context.SelectElement(model, this, criteria);
                    node = null;
                }
                else
                {
                    node = node.Parent as ExplainTreeNode;
                }
            }
        }