private static TreeNodeAdv AddChannel(Sequence4 seq, TreeNodeAdvCollection baseNodes, int channelSI, bool selectedOnly) { Channel theChannel = (Channel)seq.Members.bySavedIndex[channelSI]; string nodeText = theChannel.Name; TreeNodeAdv channelNode = new TreeNodeAdv(nodeText); baseNodes.Add(channelNode); //IMember nodeTag = theChannel; nodeIndex++; channelNode.Tag = theChannel; //channelNode.ImageIndex = imlTreeIcons.Images.IndexOfKey("Channel"); //channelNode.SelectedImageIndex = imlTreeIcons.Images.IndexOfKey("Channel"); //channelNode.ImageKey = ICONchannel; //channelNode.SelectedImageKey = ICONchannel; ImageList icons = baseNodes[0].TreeView.LeftImageList; int iconIndex = ColorIcon(icons, theChannel.color); int[] icodxColor = new int[] { iconIndex }; channelNode.LeftImageIndices = icodxColor; channelNode.Checked = theChannel.Selected; return(channelNode); }
public static TreeNodeAdv Add(this TreeNodeAdvCollection nodes, string key, string text, int imageIndex) { var node = CreateNode(nodes, key, text, imageIndex); nodes.Add(node); return(node); }
internal RepositoryItemCollection(TreeNodeAdvCollection nodes) { if (nodes == null) { throw new ArgumentNullException("nodes"); } _nodes = nodes; }
/// <summary> /// Initializes a new instance of the <see cref="ToolboxGroupCollection"/> class. /// </summary> internal ToolboxGroupCollection(TreeNodeAdvCollection nodes) { if (nodes == null) { throw new NullReferenceException(); } _nodes = nodes; }
public static TreeNodeAdv CreateNode(this TreeNodeAdvCollection nodes, string key, string text, int imageIndex) { var node = new TreeNodeAdv(text) { LeftImageIndices = new[] { imageIndex }, TagObject = key, }; return(node); }
private static TreeNodeAdv AddRGBchannel(Sequence4 seq, TreeNodeAdvCollection baseNodes, int RGBsi, List <TreeNodeAdv>[] siNodes, bool selectedOnly, bool includeRGBchildren) { TreeNodeAdv rgbNode = null; if (siNodes[RGBsi] != null) { RGBchannel theRGB = (RGBchannel)seq.Members.bySavedIndex[RGBsi]; string nodeText = theRGB.Name; rgbNode = new TreeNodeAdv(nodeText); baseNodes.Add(rgbNode); //IMember nodeTag = theRGB; nodeIndex++; rgbNode.Tag = theRGB; rgbNode.LeftImageIndices = icodxRGBchannel; rgbNode.Checked = theRGB.Selected; if (includeRGBchildren) { // * * R E D S U B C H A N N E L * * TreeNodeAdv colorNode = null; int ci = theRGB.redChannel.SavedIndex; nodeText = theRGB.redChannel.Name; colorNode = new TreeNodeAdv(nodeText); nodeIndex++; colorNode.Tag = theRGB.redChannel; colorNode.LeftImageIndices = icodxRedChannel; colorNode.Checked = theRGB.redChannel.Selected; siNodes[ci].Add(colorNode); rgbNode.Nodes.Add(colorNode); // * * G R E E N S U B C H A N N E L * * ci = theRGB.grnChannel.SavedIndex; nodeText = theRGB.grnChannel.Name; colorNode = new TreeNodeAdv(nodeText); nodeIndex++; colorNode.Tag = theRGB.grnChannel; colorNode.LeftImageIndices = icodxGrnChannel; colorNode.Checked = theRGB.grnChannel.Selected; siNodes[ci].Add(colorNode); rgbNode.Nodes.Add(colorNode); // * * B L U E S U B C H A N N E L * * ci = theRGB.bluChannel.SavedIndex; nodeText = theRGB.bluChannel.Name; colorNode = new TreeNodeAdv(nodeText); nodeIndex++; colorNode.Tag = theRGB.bluChannel; colorNode.LeftImageIndices = icodxBluChannel; colorNode.Checked = theRGB.bluChannel.Selected; siNodes[ci].Add(colorNode); rgbNode.Nodes.Add(colorNode); } // end includeRGBchildren } return(rgbNode); }
public TreeNodeAdv AddSubItems(TreeNodeAdvCollection nodes, NodeData data) { var node = GetNode(data); nodes.Add(node); foreach (var item in data.SubItems) { AddSubItems(node.Nodes, item); } return(node); }
private void AddPages(TreeNodeAdvCollection nodes, string parentKey) { foreach (var page in _model.Pages) { if (page.ParentKey != parentKey) { continue; } var node = CreateNodeForPage(page); page.Tag = node; node.Expanded = false; nodes.Add(node); } }
public static TreeNodeAdv Find(this TreeNodeAdvCollection nodes, string key) { foreach (TreeNodeAdv n in nodes) { if (n.TagObject == null) { continue; } if ((string)n.TagObject == key) { return(n); } } return(null); }
private void SaveNodes(TreeNodeAdvCollection nodesCollection, XmlTextWriter textWriter) { for (int i = 0; i < nodesCollection.Count; i++) { TreeNodeAdv node = nodesCollection[i]; textWriter.WriteStartElement(XmlNodeTag); textWriter.WriteAttributeString(XmlNodeTextAtt, node.Text); if (node.Tag != null) { textWriter.WriteAttributeString(XmlNodeTagAtt, node.Tag.ToString()); } // add other node properties to serialize here if (node.Nodes.Count > 0) { SaveNodes(node.Nodes, textWriter); } textWriter.WriteEndElement(); } }
private static TreeNodeAdv TreeAddChannel(Sequence4 seq, TreeNodeAdvCollection baseNodes, Channel channel, bool selectedOnly) { //Channel channel = (Channel)seq.Members.bySavedIndex[channelSI]; int channelSI = channel.SavedIndex; string nodeText = channel.Name; TreeNodeAdv channelNode = new TreeNodeAdv(nodeText); baseNodes.Add(channelNode); List <TreeNodeAdv> nodeList; //IMember nodeTag = channel; nodeIndex++; channelNode.Tag = channel; if (channel.Tag == null) { nodeList = new List <TreeNodeAdv>(); channel.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)channel.Tag; } nodeList.Add(channelNode); //channelNode.ImageIndex = imlTreeIcons.Images.IndexOfKey("Channel"); //channelNode.SelectedImageIndex = imlTreeIcons.Images.IndexOfKey("Channel"); //channelNode.ImageKey = ICONchannel; //channelNode.SelectedImageKey = ICONchannel; ImageList icons = baseNodes[0].TreeView.LeftImageList; int iconIndex = ColorIcon(icons, channel.color); int[] colorIcon = new int[] { iconIndex }; channelNode.LeftImageIndices = colorIcon; //channelNode.SelectedImageIndex = iconIndex; channelNode.Checked = channel.Selected; return(channelNode); }
private void Expand(TreeNodeAdvCollection nodes) { bool stop = false; foreach (TreeNodeAdv node in nodes) { if (node.Nodes.Count == 0) { stop = true; break; } } if (!stop) { foreach (TreeNodeAdv node in nodes) { node.Expand(); Expand(node.Nodes); } } }
private TreeNodeAdv SearchPrintTree(TreeNodeAdvCollection nodes, string swid) { TreeNodeAdv ReturnNode = null; foreach (TreeNodeAdv node in nodes) { //if (node.Text == searchtext) if (node.Tag.ToString() == swid) { tvAccTree.SelectedNode = node; icheckFind++; ReturnNode = node; } else { SearchPrintTree(node.Nodes, swid); } } return(ReturnNode); }
private void AddLayer(Layer layer, TreeNodeAdvCollection nodes) { string name = layer.Name; if (nodes == Nodes && string.IsNullOrWhiteSpace(name)) { name = string.IsNullOrWhiteSpace(layer.Title) ? "<root>" : layer.Title; } var node = nodes.Add(string.Empty, name, layer.ChildLayers.Any() ? 0 : 1); node.Tag = layer; Comparison <Layer> d = (l1, l2) => { // display folders at the top if (l1.ChildLayers.Any() && !l2.ChildLayers.Any()) { return(-1); } if (!l1.ChildLayers.Any() && l2.ChildLayers.Any()) { return(1); } return(String.Compare(l1.Name, l2.Name, StringComparison.Ordinal)); }; layer.ChildLayers.Sort(d); foreach (var l in layer.ChildLayers) { AddLayer(l, node.Nodes); } }
private TreeNodeAdv SearchTree(TreeNodeAdvCollection nodes, string searchtext) { foreach (TreeNodeAdv node in nodes) { //if (node.Text == searchtext) if (node.Text.Contains(searchtext)) { node.TextColor = System.Drawing.Color.Red; tvCostCenterTree.SelectedNode = node; icheckFind++; // return node; } else { node.TextColor = System.Drawing.Color.Black; } SearchTree(node.Nodes, searchtext); } return(null); }
private TreeNodeAdv CreateNode(Layer layer, TreeNodeAdvCollection nodes) { // TODO: move to control if (layer == null) { return(null); } var node = new TreeNodeAdv(layer.Title) { Tag = layer }; node.SubItems.Add(new TreeNodeAdvSubItem(layer.Title)); node.SubItems.Add(new TreeNodeAdvSubItem(layer.Abstract)); nodes.Add(node); foreach (var l in layer.ChildLayers) { CreateNode(l, node.Nodes); } return(node); }
/// <summary> /// Initializes a new instance of the <see cref="ToolboxGroupCollection"/> class. /// </summary> internal ToolboxGroupCollection(TreeNodeAdvCollection nodes) { _nodes = nodes ?? throw new NullReferenceException(); }
private bool findNode(TreeNodeAdvCollection collection, Display display, out TreeNodeAdv node) { foreach (TreeNodeAdv n in collection) if (n is DisplayNode && (n as DisplayNode).Display.Type.Name == display.Type.Name) { node = n; return true; } foreach (TreeNodeAdv n in collection) if (findNode(n.Nodes, display, out node)) return true; node = null; return false; }
private static TreeNodeAdv AddTrack(Sequence4 seq, TreeNodeAdvCollection baseNodes, int trackNumber, List <TreeNodeAdv>[] siNodes, bool selectedOnly, bool includeRGBchildren, int memberTypes) { string nodeText = ""; bool inclChan = false; if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { inclChan = true; } bool inclRGB = false; if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { inclRGB = true; } // TEMPORARY, FOR DEBUGGING // int tcount = 0; int gcount = 0; int rcount = 0; int ccount = 0; int dcount = 0; //try //{ Track theTrack = seq.Tracks[trackNumber]; nodeText = theTrack.Name; TreeNodeAdv trackNode = new TreeNodeAdv(nodeText); baseNodes.Add(trackNode); List <TreeNodeAdv> qlist; //int inclCount = theTrack.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); //if (inclCount > 0) //{ // Tracks don't normally have savedIndexes // But we will assign one for tracking and matching purposes //theTrack.SavedIndex = seq.Members.HighestSavedIndex + t + 1; //if ((memberTypes & SeqEnums.MEMBER_Track) > 0) //{ baseNodes = trackNode.Nodes; nodeIndex++; trackNode.Tag = theTrack; trackNode.LeftImageIndices = icodxTrack; trackNode.Checked = theTrack.Selected; //} for (int ti = 0; ti < theTrack.Members.Count; ti++) { //try //{ IMember member = theTrack.Members.Items[ti]; int si = member.SavedIndex; if (member != null) { if (member.MemberType == MemberType.ChannelGroup) { ChannelGroup memGrp = (ChannelGroup)member; int inclCount = memGrp.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv groupNode = AddGroup(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren, memberTypes); //AddNode(siNodes[si], groupNode); qlist = siNodes[si]; if (qlist == null) { qlist = new List <TreeNodeAdv>(); } qlist.Add(groupNode); gcount++; //siNodes[si].Add(groupNode); } } if (member.MemberType == MemberType.CosmicDevice) { CosmicDevice memDev = (CosmicDevice)member; int inclCount = memDev.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv cosmicNode = AddGroup(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren, memberTypes); //AddNode(siNodes[si], groupNode); qlist = siNodes[si]; if (qlist == null) { qlist = new List <TreeNodeAdv>(); } qlist.Add(cosmicNode); dcount++; //siNodes[si].Add(groupNode); } } if (member.MemberType == MemberType.RGBchannel) { TreeNodeAdv rgbNode = AddRGBchannel(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren); //AddNode(siNodes[si], rgbNode); //siNodes[si].Add(rgbNode); qlist = siNodes[si]; if (qlist == null) { qlist = new List <TreeNodeAdv>(); } qlist.Add(rgbNode); rcount++; } if (member.MemberType == MemberType.Channel) { TreeNodeAdv channelNode = AddChannel(seq, baseNodes, member.SavedIndex, selectedOnly); //AddNode(siNodes[si], channelNode); //siNodes[si].Add(channelNode); qlist = siNodes[si]; if (qlist == null) { qlist = new List <TreeNodeAdv>(); } qlist.Add(channelNode); ccount++; } } // end not null //} // end try #region catch1 /* * catch (System.NullReferenceException ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString() + ERRitem + ti.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } * catch (System.InvalidCastException ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString() + ERRitem + ti.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } * catch (Exception ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString() + ERRitem + ti.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } */ #endregion } // end loop thru track items #region catch2 /* * } // end try * catch (System.NullReferenceException ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } * catch (System.InvalidCastException ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } * catch (Exception ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRtrk + t.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * System.Diagnostics.Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } */ #endregion // int x = 1; // Check ccount, rcount, gcount return(trackNode); } // end fillOldChannels
/// <summary> /// Перенумеровать узла. /// </summary> /// <param name="nodes">Узлы текущего уровня.</param> private void RenumberNodesRecursive(TreeNodeAdvCollection nodes) { if (nodes == null) return; for (int i = 0; i < nodes.Count; i++) { if (nodes[i] is DeviceNode) { Domain.PresentationDesign.Client.DesignerClient.Instance.ClientConfiguration.DevicePositions.Add ((nodes[i] as DeviceNode).Device.Name, Domain.PresentationDesign.Client.DesignerClient.Instance.ClientConfiguration.DevicePositions.Count); } } }
private void SaveNodes(TreeNodeAdvCollection nodesCollection, XmlTextWriter textWriter) { for (int i = 0; i < nodesCollection.Count; i++) { TreeNodeAdv node = nodesCollection[i]; textWriter.WriteStartElement(XmlNodeTag); textWriter.WriteAttributeString(XmlNodeTextAtt, node.Text); if (node.Tag != null) textWriter.WriteAttributeString(XmlNodeTagAtt, node.Tag.ToString()); // add other node properties to serialize here if (node.Nodes.Count > 0) { SaveNodes(node.Nodes, textWriter); } textWriter.WriteEndElement(); } }
/// <summary> /// Перенумеровать узла. /// </summary> /// <param name="nodes">Узлы текущего уровня.</param> private void RenumberNodesRecursive(TreeNodeAdvCollection nodes) { if(nodes==null) return; for (int i = 0; i < nodes.Count; i++) { if (nodes[i] is DisplayGroupNode) { RenumberNodesRecursive(nodes[i].Nodes); } if (nodes[i] is DisplayNode) { PresentationController.Instance.Presentation.DisplayPositionList.Add((nodes[i] as DisplayNode).Display.Type.Name, PresentationController.Instance.Presentation.DisplayPositionList.Count); } } }
/// <summary> /// Initializes a new instance of the <see cref="ToolboxToolCollection"/> class. /// </summary> internal ToolboxToolCollection(TreeNodeAdvCollection nodes) { _nodes = nodes ?? throw new NullReferenceException(nameof(nodes)); }
private static TreeNodeAdv TreeAddRGBchannel(Sequence4 seq, TreeNodeAdvCollection baseNodes, RGBchannel rgbChannel, ref List <TreeNodeAdv>[] nodesBySI, bool selectedOnly, bool includeRGBchildren) { TreeNodeAdv channelNode = null; List <TreeNodeAdv> nodeList; int RGBsi = rgbChannel.SavedIndex; if (RGBsi >= nodesBySI.Length) { Array.Resize(ref nodesBySI, RGBsi + 1); } if (nodesBySI[RGBsi] != null) { IMember mbrR = seq.Members.bySavedIndex[RGBsi]; if (mbrR.MemberType == MemberType.RGBchannel) { //RGBchannel rgbChannel = (RGBchannel)mbrR; string nodeText = rgbChannel.Name; channelNode = new TreeNodeAdv(nodeText); baseNodes.Add(channelNode); //IMember nodeTag = rgbChannel; nodeIndex++; channelNode.Tag = rgbChannel; channelNode.LeftImageIndices = ICONrgbChannel; //channelNode.SelectedImageKey = ICONrgbChannel; channelNode.Checked = rgbChannel.Selected; if (rgbChannel.Tag == null) { nodeList = new List <TreeNodeAdv>(); rgbChannel.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)rgbChannel.Tag; } nodeList.Add(channelNode); if (includeRGBchildren) { // * * R E D S U B C H A N N E L * * TreeNodeAdv colorNode = null; int ci = rgbChannel.redChannel.SavedIndex; nodeText = rgbChannel.redChannel.Name; colorNode = new TreeNodeAdv(nodeText); channelNode.Nodes.Add(colorNode); //nodeTag = seq.Channels[ci]; nodeIndex++; colorNode.Tag = rgbChannel.redChannel; colorNode.LeftImageIndices = ICONredChannel; //colorNode.SelectedImageKey = ICONredChannel; colorNode.Checked = rgbChannel.redChannel.Selected; nodesBySI[ci].Add(colorNode); channelNode.Nodes.Add(colorNode); if (rgbChannel.redChannel.Tag == null) { nodeList = new List <TreeNodeAdv>(); rgbChannel.redChannel.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)rgbChannel.redChannel.Tag; } nodeList.Add(channelNode); // * * G R E E N S U B C H A N N E L * * ci = rgbChannel.grnChannel.SavedIndex; nodeText = rgbChannel.grnChannel.Name; colorNode = new TreeNodeAdv(nodeText); channelNode.Nodes.Add(colorNode); //nodeTag = seq.Channels[ci]; nodeIndex++; colorNode.Tag = rgbChannel.grnChannel; colorNode.LeftImageIndices = ICONgrnChannel; //colorNode.SelectedImageKey = ICONgrnChannel; colorNode.Checked = rgbChannel.grnChannel.Selected; nodesBySI[ci].Add(colorNode); channelNode.Nodes.Add(colorNode); if (rgbChannel.grnChannel.Tag == null) { nodeList = new List <TreeNodeAdv>(); rgbChannel.grnChannel.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)rgbChannel.grnChannel.Tag; } nodeList.Add(channelNode); // * * B L U E S U B C H A N N E L * * ci = rgbChannel.bluChannel.SavedIndex; if (nodesBySI[ci] != null) { nodeText = rgbChannel.bluChannel.Name; } colorNode = new TreeNodeAdv(nodeText); channelNode.Nodes.Add(colorNode); //nodeTag = seq.Channels[ci]; nodeIndex++; colorNode.Tag = seq.Channels[ci]; colorNode.LeftImageIndices = ICONbluChannel; //colorNode.SelectedImageKey = ICONbluChannel; colorNode.Checked = rgbChannel.bluChannel.Selected; nodesBySI[ci].Add(colorNode); channelNode.Nodes.Add(colorNode); if (rgbChannel.bluChannel.Tag == null) { nodeList = new List <TreeNodeAdv>(); rgbChannel.bluChannel.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)rgbChannel.bluChannel.Tag; } nodeList.Add(channelNode); } // end includeRGBchildren } else { string msg = "Attempt to add non-RGB member to RGB node!"; System.Diagnostics.Debugger.Break(); } } return(channelNode); }
} // end fillOldChannels private static TreeNodeAdv TreeAddGroup(Sequence4 seq, TreeNodeAdvCollection baseNodes, ChannelGroup group, ref List <TreeNodeAdv>[] nodesBySI, bool selectedOnly, bool includeRGBchildren, int memberTypes) { TreeNodeAdv groupNode = null; List <TreeNodeAdv> nodeList; int groupSI = group.SavedIndex; if (groupSI >= nodesBySI.Length) { Array.Resize(ref nodesBySI, groupSI + 1); } if (nodesBySI[groupSI] != null) { // Include groups in the TreeView? if ((memberTypes & SeqEnums.MEMBER_ChannelGroup) > 0) { string nodeText = group.Name; groupNode = new TreeNodeAdv(nodeText); baseNodes.Add(groupNode); nodeIndex++; groupNode.Tag = group; groupNode.LeftImageIndices = ICONchannelGroup; //groupNode.SelectedImageKey = ICONchannelGroup; groupNode.Checked = group.Selected; baseNodes = groupNode.Nodes; nodesBySI[groupSI].Add(groupNode); if (group.Tag == null) { nodeList = new List <TreeNodeAdv>(); group.Tag = nodeList; } else { nodeList = (List <TreeNodeAdv>)group.Tag; } nodeList.Add(groupNode); } //List<TreeNodeAdv> qlist; // const string ERRproc = " in TreeFillChannels-TreeAddGroup("; // const string ERRgrp = "), in Group #"; // const string ERRitem = ", Items #"; // const string ERRline = ", Line #"; for (int gi = 0; gi < group.Members.Count; gi++) { //try //{ IMember member = group.Members.Items[gi]; int si = member.SavedIndex; if (member.MemberType == MemberType.ChannelGroup) { ChannelGroup memGrp = (ChannelGroup)member; bool inclChan = false; if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { inclChan = true; } bool inclRGB = false; if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { inclRGB = true; } int inclCount = memGrp.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv subGroupNode = TreeAddGroup(seq, baseNodes, memGrp, ref nodesBySI, selectedOnly, includeRGBchildren, memberTypes); //qlist = nodesBySI[si]; //qlist.Add(subGroupNode); } int cosCount = memGrp.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); } if (member.MemberType == MemberType.CosmicDevice) { CosmicDevice memDev = (CosmicDevice)member; bool inclChan = false; if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { inclChan = true; } bool inclRGB = false; if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { inclRGB = true; } int inclCount = memDev.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv subGroupNode = TreeAddCosmic(seq, baseNodes, memDev, ref nodesBySI, selectedOnly, includeRGBchildren, memberTypes); //qlist = nodesBySI[si]; //qlist.Add(subGroupNode); } int cosCount = memDev.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); } if (member.MemberType == MemberType.Channel) { if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { Channel memCh = (Channel)member; TreeNodeAdv channelNode = TreeAddChannel(seq, baseNodes, memCh, selectedOnly); nodesBySI[si].Add(channelNode); } } if (member.MemberType == MemberType.RGBchannel) { if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { RGBchannel memRGB = (RGBchannel)member; TreeNodeAdv rgbChannelNode = TreeAddRGBchannel(seq, baseNodes, memRGB, ref nodesBySI, selectedOnly, includeRGBchildren); nodesBySI[si].Add(rgbChannelNode); } } #region catch /* * } // end try * catch (Exception ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRgrp + groupIndex.ToString() + ERRitem + gi.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } // end catch */ #endregion } // End loop thru items } return(groupNode); } // end TreeAddGroup
} // end AddGroup private static TreeNodeAdv AddDevice(Sequence4 seq, TreeNodeAdvCollection baseNodes, int deviceSI, List <TreeNodeAdv>[] siNodes, bool selectedOnly, bool includeRGBchildren, int memberTypes) { TreeNodeAdv deviceNode = null; if (siNodes[deviceSI] != null) { //ChanInfo nodeTag = new ChanInfo(); //nodeTag.MemberType = MemberType.ChannelGroup; //nodeTag.objIndex = groupIndex; //nodeTag.SavedIndex = theGroup.SavedIndex; //nodeTag.nodeIndex = nodeIndex; //ChannelGroup theGroup = seq.ChannelGroups[groupIndex]; CosmicDevice theDevice = (CosmicDevice)seq.Members.bySavedIndex[deviceSI]; //IMember groupID = theGroup; // Include groups in the TreeView? if ((memberTypes & SeqEnums.MEMBER_CosmicDevice) > 0) { string nodeText = theDevice.Name; deviceNode = new TreeNodeAdv(nodeText); baseNodes.Add(deviceNode); nodeIndex++; deviceNode.Tag = theDevice; deviceNode.LeftImageIndices = icodxChannelGroup; // .ImageKey = ICONcosmicDevice; deviceNode.Checked = theDevice.Selected; baseNodes = deviceNode.Nodes; siNodes[deviceSI].Add(deviceNode); } //List<TreeNodeAdv> qlist; // const string ERRproc = " in FillChannels-AddGroup("; // const string ERRgrp = "), in Group #"; // const string ERRitem = ", Items #"; // const string ERRline = ", Line #"; for (int gi = 0; gi < theDevice.Members.Count; gi++) { //try //{ IMember member = theDevice.Members.Items[gi]; int si = member.SavedIndex; if (member.MemberType == MemberType.ChannelGroup) { ChannelGroup memGrp = (ChannelGroup)member; bool inclChan = false; if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { inclChan = true; } bool inclRGB = false; if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { inclRGB = true; } int inclCount = memGrp.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv subGroupNode = AddGroup(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren, memberTypes); //qlist = siNodes[si]; //qlist.Add(subGroupNode); } int cosCount = memGrp.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); } if (member.MemberType == MemberType.CosmicDevice) { CosmicDevice memDev = (CosmicDevice)member; bool inclChan = false; if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { inclChan = true; } bool inclRGB = false; if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { inclRGB = true; } int inclCount = memDev.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); if (inclCount > 0) { TreeNodeAdv subGroupNode = AddGroup(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren, memberTypes); //qlist = siNodes[si]; //qlist.Add(subGroupNode); } int cosCount = memDev.Members.DescendantCount(selectedOnly, inclChan, inclRGB, includeRGBchildren); } if (member.MemberType == MemberType.Channel) { if ((memberTypes & SeqEnums.MEMBER_Channel) > 0) { TreeNodeAdv channelNode = AddChannel(seq, baseNodes, member.SavedIndex, selectedOnly); siNodes[si].Add(channelNode); } } if (member.MemberType == MemberType.RGBchannel) { if ((memberTypes & SeqEnums.MEMBER_RGBchannel) > 0) { TreeNodeAdv rgbChannelNode = AddRGBchannel(seq, baseNodes, member.SavedIndex, siNodes, selectedOnly, includeRGBchildren); siNodes[si].Add(rgbChannelNode); } } #region catch /* * } // end try * catch (Exception ex) * { * StackTrace st = new StackTrace(ex, true); * StackFrame sf = st.GetFrame(st.FrameCount - 1); * string emsg = ex.ToString(); * emsg += ERRproc + seq.filename + ERRgrp + groupIndex.ToString() + ERRitem + gi.ToString(); * emsg += ERRline + sf.GetFileLineNumber(); #if DEBUG * Debugger.Break(); #endif * utils.WriteLogEntry(emsg, utils.LOG_Error, Application.ProductName); * } // end catch */ #endregion } // End loop thru items } return(deviceNode); } // end AddGroup