コード例 #1
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
 /// <summary> Populate the tree with the Files, Topics, and Comments  </summary>
 private void Populate()
 {
     tree.Nodes.Clear();
     foreach (BCFfile file in bcfs.BCFfiles)
     {
         BCFTreeNode tnf = AddFile(file);
         foreach (BCFmarkup.Markup markup in file.MarkupsList)
         {
             BCFTreeNode tnm = AddTopic(tnf, markup);
             foreach (BCFmarkup.Comment comment in markup.Comment)
             {
                 AddComment(tnm, comment);
             }
         }
     }
     // Select the first Topic of the last File
     if (tree.Nodes.Count > 0)
     {
         tree.ExpandAll();
         TreeNode last = tree.Nodes[tree.Nodes.Count - 1];
         tree.SelectedNode = (last.Nodes.Count > 0 ? last.Nodes[0] : tree.SelectedNode = last);
     }
     // Resize picture
     ResizeImage();
 }
コード例 #2
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
            public int Compare(object x, object y)
            {
                int         result = 0;
                BCFTreeNode tx     = x as BCFTreeNode;
                BCFTreeNode ty     = y as BCFTreeNode;

                if (tx.NodeFile != null && ty.NodeFile != null)
                {
                    result = tx.NodeFile.Index - ty.NodeFile.Index;
                }
                else if (tx.NodeTopic != null && ty.NodeTopic != null)
                {
                    result = tx.NodeTopic.Topic.Index - ty.NodeTopic.Topic.Index;
                }
                else if (tx.NodeComment != null && ty.NodeComment != null)
                {
                    DateTime dx = tx.NodeComment.ModifiedDate;
                    DateTime dy = ty.NodeComment.ModifiedDate;
                    result = DateTime.Compare(dx, dy);
                }
                else // should not happen !
                {
                    result = string.Compare(tx.Text, ty.Text);
                }
                return(result);
            }
コード例 #3
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
        /// <Summary> Add a Comment in the tree node of the Topic </Summary>
        /// <param name="parent">Topic owning this comment</param>
        /// <param name="comment">Comment to be added in tree node of a Topic</param>
        private BCFTreeNode AddComment(BCFTreeNode parent, BCFmarkup.Comment comment)
        {
            BCFTreeNode tn = new BCFTreeNode();

            tn.Text        = comment.CommentProperty;
            tn.NodeFile    = null;
            tn.NodeTopic   = null;
            tn.NodeComment = comment;
            parent.Nodes.Add(tn);
            return(tn);
        }
コード例 #4
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
        /// <summary> Add a Topic in the tree </summary>
        /// <param name="parent">File owning this topic</param>
        /// <param name="topic">Topic to be added in tree</param>
        private BCFTreeNode AddTopic(BCFTreeNode parent, BCFmarkup.Markup topic)
        {
            BCFTreeNode tn = new BCFTreeNode();

            tn.Text        = topic.Topic.Title;
            tn.NodeFile    = null;
            tn.NodeTopic   = topic;
            tn.NodeComment = null;
            parent.Nodes.Add(tn);
            return(tn);
        }
コード例 #5
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
        /// <summary> Add a File in the tree </summary>
        /// <param name="file">BCF file to be added in tree</param>
        private BCFTreeNode AddFile(BCFfile file)
        {
            BCFTreeNode tn = new BCFTreeNode();

            tn.Text        = file.Name;
            tn.NodeFile    = file;
            tn.NodeTopic   = null;
            tn.NodeComment = null;
            tree.Nodes.Add(tn);
            return(tn);
        }
コード例 #6
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
        private void pict_DoubleClick(Object sender, EventArgs args)
        {
            BCFmarkup.ViewPoint v  = null;
            BCFTreeNode         tn = (BCFTreeNode)tree.SelectedNode;

            if (tn == null)
            {
                return;
            }
            if (tn.NodeTopic != null)
            {
                BCFmarkup.Markup topic = tn.NodeTopic;
                if (topic.Viewpoints.Count > 0)
                {
                    v = topic.Viewpoints[0];
                }
            }
            else if (tn.NodeComment != null)
            {
                BCFmarkup.Comment comment = tn.NodeComment;
                if (comment.Viewpoint != null)
                {
                    v = comment.MarkupViewPoint;
                }
                else
                {
                    BCFTreeNode      tp    = (BCFTreeNode)tree.SelectedNode.Parent;
                    BCFmarkup.Markup topic = tp.NodeTopic;
                    if (topic.Viewpoints.Count > 0)
                    {
                        v = topic.Viewpoints[0];
                    }
                }
            }
            if (v != null)
            {
                if (v.Bcfv.CameraDefined())
                {
                    if (MoveCamera != null)
                    {
                        MoveCamera(v.Bcfv);
                    }
                    else
                    {
                        MessageBox.Show(v.Bcfv.CameraText(), "Camera:");
                    }
                }
            }
        }
コード例 #7
0
ファイル: BCFpanel.cs プロジェクト: emaschas/BCFviewer
        /// <summary> Fills the details of the selected Node </summary>
        /// <param name="sender">Not used</param>
        /// <param name="args">Not used</param>
        private void ShowDetails(Object sender, TreeViewEventArgs args)
        {
            list.Clear();
            BCFTreeNode tn = (BCFTreeNode)tree.SelectedNode;

            if (tn.NodeFile != null)
            {
                ShowFileDetails(tn.NodeFile);
            }
            else
            {
                BCFTreeNode pa = (BCFTreeNode)tn.Parent;
                if (tn.NodeTopic != null)
                {
                    ShowTopicDetails(tn.NodeTopic);
                }
                else
                {
                    BCFTreeNode gp = (BCFTreeNode)pa.Parent;
                    ShowCommentDetails(pa.NodeTopic, tn.NodeComment);
                }
            }
            list.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }