예제 #1
0
        static void SetMode(MarkerColumnFilter modeFilter, MultiColumnHeaderState state)
        {
            switch (modeFilter.mode)
            {
            case MarkerColumnFilter.Mode.Custom:
                if (modeFilter.visibleColumns == null)
                {
                    state.visibleColumns = GetDefaultVisibleColumns(modeFilter.mode);
                }
                else
                {
                    state.visibleColumns = modeFilter.visibleColumns;
                }
                break;

            default:
                state.visibleColumns = GetDefaultVisibleColumns(modeFilter.mode);
                break;
            }

            if (modeFilter.visibleColumns == null)
            {
                modeFilter.visibleColumns = state.visibleColumns;
            }
        }
예제 #2
0
        public static MultiColumnHeaderState CreateDefaultMultiColumnHeaderState(MarkerColumnFilter modeFilter)
        {
            var columnList = new List <MultiColumnHeaderState.Column>();

            HeaderData[] headerData = new HeaderData[]
            {
                new HeaderData("Marker Name", "Marker Name\n\nFrame marker time is total of all instances in frame", width: 300, minWidth: 100, autoResize: false, allowToggleVisibility: false, ascending: true),
                new HeaderData("Depth", "Marker depth in marker hierarchy\n\nMay appear at multiple levels"),
                new HeaderData("Median", "Central marker time over all selected frames\n\nAlways present in data set\n1st of 2 central values for even frame count"),
                new HeaderData("Median Bar", "Central marker time over all selected frames", width: 50),
                new HeaderData("Mean", "Per frame marker time / number of non zero frames"),
                new HeaderData("Min", "Minimum marker time"),
                new HeaderData("Max", "Maximum marker time"),
                new HeaderData("Range", "Difference between maximum and minimum"),
                new HeaderData("Count", "Marker count over all selected frames\n\nMultiple can occur per frame"),
                new HeaderData("Count Bar", "Marker count over all selected frames\n\nMultiple can occur per frame"),
                new HeaderData("Count Frame", "Average number of markers per frame\n\ntotal count / number of non zero frames", width: 70, minWidth: 50),
                new HeaderData("Count Frame Bar", "Average number of markers per frame\n\ntotal count / number of non zero frames", width: 70, minWidth: 50),
                new HeaderData("1st", "First frame index that the marker appears on"),
                new HeaderData("At Median Frame", "Marker time on the median frame\n\nI.e. Marker total duration on the average frame", width: 90, minWidth: 50),
                new HeaderData("Total", "Marker total time over all selected frames"),
                new HeaderData("Total Bar", "Marker total time over all selected frames"),
                new HeaderData("Threads", "Threads the marker occurs on (with filtering applied)"),
            };
            foreach (var header in headerData)
            {
                columnList.Add(new MultiColumnHeaderState.Column
                {
                    headerContent         = header.content,
                    headerTextAlignment   = TextAlignment.Left,
                    sortedAscending       = header.ascending,
                    sortingArrowAlignment = TextAlignment.Left,
                    width                 = header.width,
                    minWidth              = header.minWidth,
                    autoResize            = header.autoResize,
                    allowToggleVisibility = header.allowToggleVisibility
                });
            }
            ;
            var columns = columnList.ToArray();

            m_MaxColumns = Enum.GetValues(typeof(MyColumns)).Length;
            Assert.AreEqual(columns.Length, m_MaxColumns, "Number of columns should match number of enum values: You probably forgot to update one of them.");

            var state = new MultiColumnHeaderState(columns);

            SetMode(modeFilter, state);
            return(state);
        }
예제 #3
0
 public void SetMode(MarkerColumnFilter modeFilter)
 {
     SetMode(modeFilter, multiColumnHeader.state);
     multiColumnHeader.ResizeToFit();
 }
예제 #4
0
        public static MultiColumnHeaderState CreateDefaultMultiColumnHeaderState(float treeViewWidth, MarkerColumnFilter modeFilter)
        {
            var columnList = new List <MultiColumnHeaderState.Column>();

            HeaderData[] headerData = new HeaderData[]
            {
                new HeaderData("Marker Name", "Marker Name\n\nFrame marker time is total of all instances in frame", 300, 100, false, false),
                new HeaderData("Left Median", "Left median time\nCentral marker time over all selected frames"),
                new HeaderData("<", "Difference if left data set is a larger value", 50),
                new HeaderData(">", "Difference if right data set is a larger value", 50),
                new HeaderData("Right Median", "Right median time\nCentral marker time over all selected frames"),
                new HeaderData("Diff", "Difference between left and right times"),
                new HeaderData("Abs Diff", "Absolute difference between left and right times"),

                new HeaderData("Count Left", "Left marker count over all selected frames\n\nMultiple can occur per frame"),
                new HeaderData("< Count", "Count Difference if left data set count is a larger value", 50),
                new HeaderData("> Count", "Count Difference if right data set count is a larger value", 50),
                new HeaderData("Count Right", "Right marker count over all selected frames\n\nMultiple can occur per frame"),
                new HeaderData("Count Delta", "Difference in marker count"),
                new HeaderData("Abs Count", "Absolute difference in marker count"),

                new HeaderData("Count Left Frame", "Average number of markers per frame in left data set\n\ntotal count / number of non zero frames"),
                new HeaderData("< Frame Count", "Per frame Count Difference if left data set count is a larger value", 50),
                new HeaderData("> Frame Count", "Per frame Count Difference if right data set count is a larger value", 50),
                new HeaderData("Count Right Frame", "Average number of markers per frame in right data set\n\ntotal count / number of non zero frames"),
                new HeaderData("Count Delta Frame", "Difference in per frame marker count"),
                new HeaderData("Abs Frame Count", "Absolute difference in per frame marker count"),

                new HeaderData("Total Left", "Left marker total time over all selected frames"),
                new HeaderData("< Total", "Total Difference if left data set total is a larger value", 50),
                new HeaderData("> Total", "Total Difference if right data set total is a larger value", 50),
                new HeaderData("Total Right", "Right marker total time over all selected frames"),
                new HeaderData("Total Delta", "Difference in total time over all selected frames"),
                new HeaderData("Abs Total", "Absolute difference in total time over all selected frames")
            };
            foreach (var header in headerData)
            {
                columnList.Add(new MultiColumnHeaderState.Column
                {
                    headerContent         = header.content,
                    headerTextAlignment   = TextAlignment.Left,
                    sortedAscending       = true,
                    sortingArrowAlignment = TextAlignment.Left,
                    width                 = header.width,
                    minWidth              = header.minWidth,
                    autoResize            = header.autoResize,
                    allowToggleVisibility = header.allowToggleVisibility
                });
            }
            ;
            var columns = columnList.ToArray();

            m_MaxColumns = Enum.GetValues(typeof(MyColumns)).Length;
            Assert.AreEqual(columns.Length, m_MaxColumns, "Number of columns should match number of enum values: You probably forgot to update one of them.");

            var state = new MultiColumnHeaderState(columns);

            SetMode(modeFilter, state);
            return(state);
        }