void RebuildList()

in Editor/Scripts/InstrumentationSettingsEditor.cs [197:230]


        void RebuildList()
        {
            m_HistogramList = new ReorderableList(
                m_AdvancedSettings.Histograms, typeof(Settings.Types.Histogram), false, true, false, false);
            m_HistogramList.drawHeaderCallback = rect =>
            {
                rect.width /= 5;
                rect.x += rect.width;
                EditorGUI.LabelField(rect, "Instrument key");
                rect.x += rect.width;
                EditorGUI.LabelField(rect, new GUIContent("Bucket min (ms)", "Minimum bucket in milliseconds"));
                rect.x += rect.width;
                EditorGUI.LabelField(rect, new GUIContent("Bucket max (ms)", "Maximum bucket in milliseconds"));
                rect.x += rect.width;
                EditorGUI.LabelField(rect, "Number of buckets");
            };
            m_HistogramList.drawElementCallback = (rect, index, isActive, isFocused) =>
            {
                var histogram = m_AdvancedSettings.Histograms[index];
                var elementWidth = rect.width / 5;
                float offset = 15;
                rect.width = elementWidth - offset;
                EditorGUI.LabelField(rect, FindInstrumentationKeyName(histogram.InstrumentKey));
                rect.x += elementWidth;
                EditorGUI.LabelField(rect, histogram.InstrumentKey.ToString());
                rect.x += elementWidth;
                histogram.BucketMin = EditorGUI.FloatField(rect, histogram.BucketMin);
                rect.x += elementWidth;
                histogram.BucketMax = EditorGUI.FloatField(rect, histogram.BucketMax);
                rect.x += elementWidth;
                histogram.NBuckets = EditorGUI.IntField(rect, histogram.NBuckets);
                m_AdvancedSettings.Histograms[index] = histogram;
            };
        }