Esempio n. 1
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
Esempio n. 2
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
Esempio n. 3
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