Exemplo n.º 1
0
        public static TreeNode AddChannel(Sequence4 seq, TreeNode parentNode, int channelIndex, bool selected)
        {
            string   nodeText    = seq.channels[channelIndex].name;
            TreeNode channelNode = parentNode.Nodes.Add(nodeText);
            ChanInfo nodeTag     = new ChanInfo();

            nodeTag.tableType  = tableType.channel;
            nodeTag.objIndex   = channelIndex;
            nodeTag.savedIndex = seq.channels[channelIndex].savedIndex;
            nodeTag.nodeIndex  = nodeIndex;
            nodeIndex++;
            channelNode.Tag = nodeTag;
            //channelNode.ImageIndex = imlTreeIcons.Images.IndexOfKey("Channel");
            //channelNode.SelectedImageIndex = imlTreeIcons.Images.IndexOfKey("Channel");
            //channelNode.ImageKey = ICONchannel;
            //channelNode.SelectedImageKey = ICONchannel;


            ImageList icons     = parentNode.TreeView.ImageList;
            int       iconIndex = ColorIcon(icons, seq.channels[channelIndex].color);

            channelNode.ImageIndex         = iconIndex;
            channelNode.SelectedImageIndex = iconIndex;



            return(channelNode);
        }
Exemplo n.º 2
0
        public static void FillChannels(TreeView tree, Sequence4 seq, List <List <TreeNode> > siNodes, bool selected, bool includeRGB)
        {
            //TODO: 'selected' not implemented yet

            tree.Nodes.Clear();
            //ChanInfo tagInfo = new ChanInfo();
            string   nodeText = "";
            ChanInfo nodeTag  = new ChanInfo();

            nodeIndex = 1;
            int listSize = seq.highestSavedIndex + seq.tracks.Count + 1;
            //Array.Resize(ref siNodes, listSize);

            // TEMPORARY, FOR DEBUGGING
            int tcount = 0;
            int gcount = 0;
            int rcount = 0;
            int ccount = 0;

            const string ERRproc = " in FillChannels(";
            const string ERRtrk  = "), in Track #";
            const string ERRitem = ", Item #";
            const string ERRline = ", Line #";


            for (int n = 0; n < listSize; n++)
            {
                //siNodes[n] = null;
                //siNodes[n] = new List<TreeNode>();
                siNodes.Add(new List <TreeNode>());
            }

            for (int t = 0; t < seq.tracks.Count; t++)
            {
                try
                {
                    int tNo = t + 1;
                    //nodeText = "Track " + tNo.ToString() + ":" + seq.tracks[t].name;
                    nodeTag  = new ChanInfo();
                    nodeText = seq.tracks[t].name;
                    TreeNode trackNode = tree.Nodes.Add(nodeText);
                    nodeTag.tableType  = tableType.track;
                    nodeTag.objIndex   = t;
                    nodeTag.nodeIndex  = nodeIndex;
                    nodeTag.savedIndex = seq.highestSavedIndex + t;
                    nodeIndex++;
                    trackNode.Tag = nodeTag;
                    List <TreeNode> qlist;

                    trackNode.ImageKey         = ICONtrack;
                    trackNode.SelectedImageKey = ICONtrack;
                    qlist = siNodes[nodeTag.savedIndex];
                    qlist.Add(trackNode);

                    for (int ti = 0; ti < seq.tracks[t].itemSavedIndexes.Count; ti++)
                    {
                        try
                        {
                            int si = seq.tracks[t].itemSavedIndexes[ti];
                            if (seq.savedIndexes[si] != null)
                            {
                                if (seq.savedIndexes[si].objType == tableType.channelGroup)
                                {
                                    TreeNode groupNode = AddGroup(seq, trackNode, seq.savedIndexes[si].objIndex, siNodes, selected, includeRGB);
                                    //AddNode(siNodes[si], groupNode);
                                    qlist = siNodes[si];
                                    qlist.Add(groupNode);
                                    gcount++;
                                    //siNodes[si].Add(groupNode);
                                }
                                if (seq.savedIndexes[si].objType == tableType.rgbChannel)
                                {
                                    TreeNode rgbNode = AddRGBchannel(seq, trackNode, seq.savedIndexes[si].objIndex, siNodes, selected, includeRGB);
                                    //AddNode(siNodes[si], rgbNode);
                                    //siNodes[si].Add(rgbNode);
                                    qlist = siNodes[si];
                                    qlist.Add(rgbNode);
                                    rcount++;
                                }
                                if (seq.savedIndexes[si].objType == tableType.channel)
                                {
                                    TreeNode channelNode = AddChannel(seq, trackNode, seq.savedIndexes[si].objIndex, selected);
                                    //AddNode(siNodes[si], channelNode);
                                    //siNodes[si].Add(channelNode);
                                    qlist = siNodes[si];
                                    qlist.Add(channelNode);
                                    ccount++;
                                }
                            }                     // end not null
                        }                         // 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() + 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);
                        }
                    }             // end loop thru track items
                }                 // 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);
                }
            }             // end loop thru tracks



            int x = 1; // Check ccount, rcount, gcount
        }              // end fillOldChannels
Exemplo n.º 3
0
        public static TreeNode AddRGBchannel(Sequence4 seq, TreeNode parentNode, int RGBIndex, List <List <TreeNode> > siNodes, bool selected, bool includeSubChannels)
        {
            List <TreeNode> qlist;

            string   nodeText    = seq.rgbChannels[RGBIndex].name;
            TreeNode channelNode = parentNode.Nodes.Add(nodeText);
            ChanInfo nodeTag     = new ChanInfo();

            nodeTag.tableType  = tableType.rgbChannel;
            nodeTag.objIndex   = RGBIndex;
            nodeTag.savedIndex = seq.rgbChannels[RGBIndex].savedIndex;
            nodeTag.nodeIndex  = nodeIndex;
            nodeIndex++;
            channelNode.Tag              = nodeTag;
            channelNode.ImageKey         = ICONrgbChannel;
            channelNode.SelectedImageKey = ICONrgbChannel;

            if (includeSubChannels)
            {
                // * * R E D   S U B  C H A N N E L * *
                int ci = seq.rgbChannels[RGBIndex].redChannelObjIndex;
                nodeText = seq.channels[ci].name;
                TreeNode colorNode = channelNode.Nodes.Add(nodeText);
                nodeTag            = new ChanInfo();
                nodeTag.tableType  = tableType.channel;
                nodeTag.objIndex   = ci;
                nodeTag.savedIndex = seq.channels[ci].savedIndex;
                nodeTag.nodeIndex  = nodeIndex;
                nodeIndex++;
                colorNode.Tag              = nodeTag;
                colorNode.ImageKey         = ICONredChannel;
                colorNode.SelectedImageKey = ICONredChannel;
                qlist = siNodes[seq.channels[ci].savedIndex];
                qlist.Add(colorNode);

                // * * G R E E N   S U B  C H A N N E L * *
                ci                 = seq.rgbChannels[RGBIndex].grnChannelObjIndex;
                nodeText           = seq.channels[ci].name;
                colorNode          = channelNode.Nodes.Add(nodeText);
                nodeTag            = new ChanInfo();
                nodeTag.tableType  = tableType.channel;
                nodeTag.objIndex   = ci;
                nodeTag.savedIndex = seq.channels[ci].savedIndex;
                nodeTag.nodeIndex  = nodeIndex;
                nodeIndex++;
                colorNode.Tag              = nodeTag;
                colorNode.ImageKey         = ICONgrnChannel;
                colorNode.SelectedImageKey = ICONgrnChannel;
                qlist = siNodes[seq.channels[ci].savedIndex];
                qlist.Add(colorNode);

                // * * B L U E   S U B  C H A N N E L * *
                ci                 = seq.rgbChannels[RGBIndex].bluChannelObjIndex;
                nodeText           = seq.channels[ci].name;
                colorNode          = channelNode.Nodes.Add(nodeText);
                nodeTag            = new ChanInfo();
                nodeTag.tableType  = tableType.channel;
                nodeTag.objIndex   = ci;
                nodeTag.savedIndex = seq.channels[ci].savedIndex;
                nodeTag.nodeIndex  = nodeIndex;
                nodeIndex++;
                colorNode.Tag              = nodeTag;
                colorNode.ImageKey         = ICONbluChannel;
                colorNode.SelectedImageKey = ICONbluChannel;
                qlist = siNodes[seq.channels[ci].savedIndex];
                qlist.Add(colorNode);
            }             // end includeSubChannels

            return(channelNode);
        }
Exemplo n.º 4
0
        }              // end fillOldChannels

        public static TreeNode AddGroup(Sequence4 seq, TreeNode parentNode, int groupIndex, List <List <TreeNode> > siNodes, bool selected, bool includeRGB)
        {
            string   nodeText  = seq.channelGroups[groupIndex].name;
            TreeNode groupNode = parentNode.Nodes.Add(nodeText);
            ChanInfo nodeTag   = new ChanInfo();

            nodeTag.tableType  = tableType.channelGroup;
            nodeTag.objIndex   = groupIndex;
            nodeTag.savedIndex = seq.channelGroups[groupIndex].savedIndex;
            nodeTag.nodeIndex  = nodeIndex;
            nodeIndex++;
            groupNode.Tag              = nodeTag;
            groupNode.ImageKey         = ICONchannelGroup;
            groupNode.SelectedImageKey = ICONchannelGroup;
            groupNode.ImageKey         = ICONchannelGroup;
            groupNode.SelectedImageKey = ICONchannelGroup;
            List <TreeNode> qlist;

            const string ERRproc = " in FillChannels-AddGroup(";
            const string ERRgrp  = "), in Group #";
            const string ERRitem = ", Item #";
            const string ERRline = ", Line #";

            for (int gi = 0; gi < seq.channelGroups[groupIndex].itemSavedIndexes.Count; gi++)
            {
                try
                {
                    int si = seq.channelGroups[groupIndex].itemSavedIndexes[gi];
                    if (seq.savedIndexes[si].objType == tableType.channelGroup)
                    {
                        TreeNode subGroupNode = AddGroup(seq, groupNode, seq.savedIndexes[si].objIndex, siNodes, selected, includeRGB);
                        qlist = siNodes[si];
                        qlist.Add(subGroupNode);
                    }
                    if (seq.savedIndexes[si].objType == tableType.channel)
                    {
                        TreeNode channelNode = AddChannel(seq, groupNode, seq.savedIndexes[si].objIndex, selected);
                        qlist = siNodes[si];
                        qlist.Add(channelNode);
                    }
                    if (seq.savedIndexes[si].objType == tableType.rgbChannel)
                    {
                        TreeNode rgbChannelNode = AddRGBchannel(seq, groupNode, seq.savedIndexes[si].objIndex, siNodes, selected, includeRGB);
                        qlist = siNodes[si];
                        qlist.Add(rgbChannelNode);
                    }
                }                 // 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
            }     // End loop thru items
            return(groupNode);
        }         // end AddGroup