private void msgview_erase_Click(object sender, System.EventArgs e) { MessageTreeNode node = null; try { node = (MessageTreeNode)this.messages.SelectedNode; } catch { return; } string key = null; string theKey = node.msg.KeyOid; if (theKey == null || theKey == string.Empty) { theKey = node.msg.KeyQuery; if (theKey == null || theKey == string.Empty) { logger.Error("Could not compute the OID for this message. Erase aborted."); return; } key = "<key oid='' queryType='XPATH'>" + theKey + "</key>"; } else { key = "<key oid=\"" + theKey + "\" />\n"; } QosErase qos = new QosErase(); this.xmlBlaster.Erase(key, qos.ToString()); }
private static void DisplayRegisterOnTreeView(DataTree message, TreeView tree, string rootName = "") { tree.Nodes.Clear(); dynamic root = new MessageTreeNode(rootName); tree.Nodes.Add(root); RecursivelyDisplayMessageAsTreeNodes(message, root); tree.ExpandAll(); }
public void messagesFill(MessageUnit[] msgs) { string me = "messagesFill()"; logger.Debug(me); //System.Threading.Monitor.Enter(this.messages); //try //{ lock (this.messages) { logger.Debug("{0} entering lock", me); try { //messages.BeginUpdate(); foreach (MessageUnit msg in msgs) { MessageTreeNode mtn = new MessageTreeNode(msg); MessageTreeNode topicNode = SearchForLabel(mtn.Text); if (topicNode == null) { logger.Debug("messagesFill() new topic: " + mtn.Text); messages.Nodes.Add(mtn); } else { logger.Debug("messagesFill() add message to topic: " + mtn.Text); topicNode.Nodes.Add(mtn); } } //messages.EndUpdate(); } catch (Exception ex) { logger.Error("{0} Failed: {1}", me, ex.Message); } logger.Debug("{0} releasing lock", me); } //} //finally //{ // Always use Finally to ensure that you exit the Monitor. // The following line creates another object containing // the value of x, and throws SynchronizationLockException // because the two objects do not match. // System.Threading.Monitor.Exit(this.messages); //} }
private static void RecursivelyDisplayMessageAsTreeNodes(DataTree message, TreeNode parentNode) { foreach (DataTree dataTreeNode in message) { string itemString = dataTreeNode.Name; if (!string.IsNullOrEmpty(Convert.ToString(dataTreeNode))) { itemString += ": " + dataTreeNode.Value; } var displayTreeNode = new MessageTreeNode(itemString); displayTreeNode.TreeName = dataTreeNode.Name; parentNode.Nodes.Add(displayTreeNode); RecursivelyDisplayMessageAsTreeNodes(dataTreeNode, displayTreeNode); } }
public void AddChild(MessageTreeNode childNode) { children.Add(childNode); }