Exemple #1
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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();
            }
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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);
                }
            }
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        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);
            }
        }
Exemple #15
0
        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);
        }
Exemple #17
0
 /// <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;
 }
Exemple #19
0
        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();
            }
        }
Exemple #22
0
 /// <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);
         }
     }
 }
Exemple #23
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ToolboxToolCollection"/> class.
 /// </summary>
 internal ToolboxToolCollection(TreeNodeAdvCollection nodes)
 {
     _nodes = nodes ?? throw new NullReferenceException(nameof(nodes));
 }
Exemple #24
0
        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);
        }
Exemple #25
0
        }         // 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
Exemple #26
0
        }         // 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