void EnsureCurrentMasterExists() { if (_currentMasterMessageItem == null) { Main.Add(_currentMasterMessageItem = new TreeMasterMessageItem(treeView1, "", "Start", 0, 4)); } }
void AddLine(string line) { string[] items = line.Split(';'); if (items.Length == 0) { return; } int range = items.Count(item => String.IsNullOrEmpty(item)); bool isComment = range == 0 && !char.IsDigit(items[0][0]); bool isSubMasterNode = range == 0 && !isComment; if (isSubMasterNode) // Start of a message { string timeStamp = items[0]; string message = items.Length > 1 ? items[1] : "???"; string masterName = null; int imageId = -1; bool endFlag; int masterRange = GetMasterRange(message, out imageId, out masterName, out endFlag); ListMessages.Add(currentMessageItem = new TreeMessageItem(timeStamp, message, GetImage(items.Length > 2 ? items[3] : "???", isComment), isComment)); MessageCount++; if (masterRange >= 0) // It's a group start or end { if (endFlag) { currentMasterMessageItem.Add(currentMessageItem); } Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, timeStamp, masterName, masterRange, imageId)); } if (!endFlag) { currentMasterMessageItem.Add(currentMessageItem); } } else if (isComment) // Just a comment { currentMessageItem = new TreeMessageItem(null, line, GetImage(line, isComment), isComment); ListMessages.Add(currentMessageItem); if (currentMasterMessageItem == null) { Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, "", "Start", 0, GetImage(line, isComment))); } currentMasterMessageItem.Add(currentMessageItem); } else // A line within a message if (currentMessageItem != null) { currentMessageItem.Add(new TreeItemLine(range, items[range], (items.Length == range + 2) ? items[range + 1] : null)); } }
static TreeNode ProcessList(int startIndex, bool dummy) { TreeMasterMessageItem masterItem = Main[startIndex]; TreeNode node = new TreeNode(masterItem.ToString(), masterItem.ImageId, masterItem.ImageId); node.ForeColor = GetTextColor(masterItem.ImageId); masterItem.CorrespondingNode = node; if (dummy) { node.Tag = startIndex; node.Nodes.Add("dummy"); return(node); } node.Tag = Main[startIndex]; FillNode(node, startIndex); return(node); }
private TreeMessageItem GetSelectedMessage() { object Tag = treeView1.SelectedNode.Tag; if (Tag is int) { UpdateNode(treeView1.SelectedNode, null); Tag = treeView1.SelectedNode.Tag; } TreeMasterMessageItem tmmi = Tag as TreeMasterMessageItem; TreeMessageItem tmi = Tag as TreeMessageItem; TreeItemLine til = Tag as TreeItemLine; if (tmmi != null) { tmi = tmmi.MessageItems[0]; } if (til != null) { tmi = til.Parent; } return(tmi); }
private void SetPosition(TreeMasterMessageItem context) { tmmi = context; tmi = context.MessageItems[0]; }
void AddLine(string line) { string[] items = line.Split(';'); if (items.Length == 0) return; int range = items.Count(item => String.IsNullOrEmpty(item)); bool isComment = range == 0 && !char.IsDigit(items[0][0]); bool isSubMasterNode = range == 0 && !isComment; if (isSubMasterNode) // Start of a message { string timeStamp = items[0]; string message = items.Length > 1 ? items[1] : "???"; string masterName = null; int imageId = -1; bool endFlag; int masterRange = GetMasterRange(message, out imageId, out masterName, out endFlag); ListMessages.Add(currentMessageItem = new TreeMessageItem(timeStamp, message, GetImage(items.Length > 2 ? items[3] : "???", isComment), isComment)); MessageCount++; if (masterRange >= 0) // It's a group start or end { if (endFlag) currentMasterMessageItem.Add(currentMessageItem); Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, timeStamp, masterName, masterRange, imageId)); } if (!endFlag) currentMasterMessageItem.Add(currentMessageItem); } else if (isComment) // Just a comment { currentMessageItem = new TreeMessageItem(null, line, GetImage(line, isComment), isComment); ListMessages.Add(currentMessageItem); if (currentMasterMessageItem == null) Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, "", "Start", 0, GetImage(line, isComment))); currentMasterMessageItem.Add(currentMessageItem); } else // A line within a message if (currentMessageItem != null) currentMessageItem.Add(new TreeItemLine(range, items[range], (items.Length == range + 2) ? items[range + 1] : null)); }
void EnsureCurrentMasterExists() { if (_currentMasterMessageItem == null) Main.Add(_currentMasterMessageItem = new TreeMasterMessageItem(treeView1, "", "Start", 0, 4)); }