private void ShowDrawInstructions()
 {
     if (this.m_Inspected == null)
     {
         return;
     }
     this.m_ListViewState.totalRows = GUIViewDebuggerHelper.GetInstructionCount();
     if (this.m_QueuedPointInspection)
     {
         this.m_ListViewState.row = this.FindInstructionUnderPoint(this.m_PointToInspect);
         this.m_ListViewState.selectionChanged = true;
         this.m_QueuedPointInspection          = false;
         this.m_Instruction.Reset();
     }
     SplitterGUILayout.BeginHorizontalSplit(this.m_InstructionListDetailSplitter, new GUILayoutOption[0]);
     this.DrawInstructionList();
     EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
     if (this.m_ListViewState.selectionChanged)
     {
         this.OnSelectedInstructionChanged();
     }
     this.DrawSelectedInstructionDetails();
     EditorGUILayout.EndVertical();
     SplitterGUILayout.EndHorizontalSplit();
 }
示例#2
0
        void LayoutWithStripsOnTop(List <AudioMixerGroupController> allGroups, Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap)
        {
            // Do layouting
            SplitterState horizontalState = m_LayoutStripsOnTop.m_HorizontalSplitter;
            SplitterState verticalState   = m_LayoutStripsOnTop.m_VerticalSplitter;

            SplitterGUILayout.BeginVerticalSplit(verticalState, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
            if (m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical();
                GUILayout.EndVertical();
            }
            SplitterGUILayout.BeginHorizontalSplit(horizontalState, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
            if (!m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical();
                GUILayout.EndVertical();
            }
            SplitterGUILayout.EndHorizontalSplit();
            SplitterGUILayout.EndVerticalSplit();

            float channelStripYPos   = m_GroupsRenderedAboveSections ? EditorGUI.kWindowToolbarHeight : EditorGUI.kWindowToolbarHeight + verticalState.realSizes[0];
            float channelStripHeight = m_GroupsRenderedAboveSections ? verticalState.realSizes[0] : verticalState.realSizes[1];

            float sectionsYPos   = !m_GroupsRenderedAboveSections ? EditorGUI.kWindowToolbarHeight : EditorGUI.kWindowToolbarHeight + verticalState.realSizes[0];
            float sectionsHeight = !m_GroupsRenderedAboveSections ? verticalState.realSizes[0] : verticalState.realSizes[1];

            Rect channelStripViewRect = new Rect(0, channelStripYPos, position.width, channelStripHeight);
            Rect totalRectOfSections  = new Rect(0, channelStripViewRect.yMax, position.width, position.height - channelStripViewRect.height);

            // Rects for sections
            Rect[]      sectionRects    = new Rect[m_SectionOrder.Length];
            const float spaceFromBottom = 12f;

            for (int i = 0; i < sectionRects.Length; i++)
            {
                float xPos = (i > 0) ? sectionRects[i - 1].xMax : 0f;
                sectionRects[i] = new Rect(xPos, sectionsYPos, horizontalState.realSizes[i], sectionsHeight - spaceFromBottom);
            }

            // Spacing between lists
            const float halfSpaceBetween = 4f;

            sectionRects[0].x     += 2 * halfSpaceBetween;
            sectionRects[0].width -= 3 * halfSpaceBetween;
            sectionRects[sectionRects.Length - 1].x     += halfSpaceBetween;
            sectionRects[sectionRects.Length - 1].width -= 3 * halfSpaceBetween;
            for (int i = 1; i < sectionRects.Length - 1; i++)
            {
                sectionRects[i].x     += halfSpaceBetween;
                sectionRects[i].width -= halfSpaceBetween * 2;
            }

            // Do content
            DoSections(totalRectOfSections, sectionRects, m_SectionOrder);
            m_ChannelStripView.OnGUI(channelStripViewRect, m_ShowReferencedBuses, m_ShowBusConnections, m_ShowBusConnectionsOfSelection, allGroups, effectMap, m_SortGroupsAlphabetically, m_ShowDeveloperOverlays, m_GroupTree.ScrollToItem);

            // Horizontal line (split)
            EditorGUI.DrawRect(new Rect(0, EditorGUI.kWindowToolbarHeight + verticalState.realSizes[0] - 1, position.width, 1), new Color(0f, 0f, 0f, 0.4f));
        }
示例#3
0
 private void DrawDetailedMemoryPane(SplitterState splitter)
 {
     SplitterGUILayout.BeginHorizontalSplit(splitter, new GUILayoutOption[0]);
     this.m_MemoryListView.OnGUI();
     this.m_ReferenceListView.OnGUI();
     SplitterGUILayout.EndHorizontalSplit();
 }
示例#4
0
 private void DrawSelectedInstructionDetails()
 {
     if (this.m_Instruction == null)
     {
         EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
         GUILayout.Label("Select a Instruction on the left to see details", s_Styles.centeredText, new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
         EditorGUILayout.EndVertical();
     }
     else
     {
         SplitterGUILayout.BeginVerticalSplit(this.m_InstructionDetailStacktraceSplitter, new GUILayoutOption[0]);
         this.m_InstructionDetailsScrollPos = EditorGUILayout.BeginScrollView(this.m_InstructionDetailsScrollPos, s_Styles.boxStyle, new GUILayoutOption[0]);
         EditorGUI.BeginDisabledGroup(true);
         this.DrawInspectedRect();
         EditorGUI.EndDisabledGroup();
         this.DrawInspectedStyle();
         EditorGUI.BeginDisabledGroup(true);
         this.DrawInspectedGUIContent();
         EditorGUI.EndDisabledGroup();
         EditorGUILayout.EndScrollView();
         this.DrawInspectedStacktrace();
         SplitterGUILayout.EndVerticalSplit();
     }
 }
        void ShowDrawInstructions()
        {
            if (inspected == null)
            {
                ClearInstructionHighlighter();
                return;
            }

            SplitterGUILayout.BeginHorizontalSplit(m_InstructionListDetailSplitter);

            instructionModeView.DrawInstructionList();

            EditorGUILayout.BeginVertical();
            {
                if (m_StylePicker.IsPicking &&
                    m_StylePicker.ExploredDrawInstructionIndex != -1 &&
                    m_InstructionType == InstructionType.Draw)
                {
                    m_InstructionModeView.ClearRowSelection();
                    m_InstructionModeView.SelectRow(m_StylePicker.ExploredDrawInstructionIndex);
                }
                instructionModeView.DrawSelectedInstructionDetails(position.width - m_InstructionListDetailSplitter.realSizes[0]);
            }
            EditorGUILayout.EndVertical();

            SplitterGUILayout.EndHorizontalSplit();
        }
 private void DrawSelectedInstructionDetails()
 {
     if (this.m_Instruction == null)
     {
         EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
         GUILayout.Label("Select a Instruction on the left to see details", GUIViewDebuggerWindow.s_Styles.centeredText, new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
         EditorGUILayout.EndVertical();
         return;
     }
     SplitterGUILayout.BeginVerticalSplit(this.m_InstructionDetailStacktraceSplitter, new GUILayoutOption[0]);
     this.m_InstructionDetailsScrollPos = EditorGUILayout.BeginScrollView(this.m_InstructionDetailsScrollPos, GUIViewDebuggerWindow.s_Styles.boxStyle, new GUILayoutOption[0]);
     using (new EditorGUI.DisabledScope(true))
     {
         this.DrawInspectedRect();
     }
     this.DrawInspectedStyle();
     using (new EditorGUI.DisabledScope(true))
     {
         this.DrawInspectedGUIContent();
     }
     EditorGUILayout.EndScrollView();
     this.DrawInspectedStacktrace();
     SplitterGUILayout.EndVerticalSplit();
 }
 public void OnGUI()
 {
     GUILayout.BeginVertical();
     SplitterGUILayout.BeginHorizontalSplit(this.m_Splitter, EditorStyles.toolbar, new GUILayoutOption[0]);
     this.DrawHeader();
     SplitterGUILayout.EndHorizontalSplit();
     if (this.m_Root == null)
     {
         GUILayout.EndVertical();
     }
     else
     {
         this.HandleKeyboard();
         this.m_ScrollPosition = GUILayout.BeginScrollView(this.m_ScrollPosition, MemoryTreeList.styles.background);
         int row = 0;
         using (List <MemoryElement> .Enumerator enumerator = this.m_Root.children.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 this.DrawItem(enumerator.Current, ref row, 1);
                 ++row;
             }
         }
         GUILayoutUtility.GetRect(0.0f, (float)((double)row * 16.0), new GUILayoutOption[1]
         {
             GUILayout.ExpandWidth(true)
         });
         if (Event.current.type == EventType.Repaint)
         {
             this.m_VisibleHeight = GUIClip.visibleRect.height;
         }
         GUILayout.EndScrollView();
         GUILayout.EndVertical();
     }
 }
示例#8
0
        public virtual void DrawSelectedInstructionDetails(float availableWidth)
        {
            if (m_ListViewState.selectionChanged)
            {
                OnSelectedInstructionChanged(m_ListViewState.row);
            }
            else if (m_ListViewState.row >= GetInstructionCount())
            {
                OnSelectedInstructionChanged(-1);
            }

            if (!isInstructionSelected)
            {
                DoDrawNothingSelected();
                return;
            }

            SplitterGUILayout.BeginVerticalSplit(m_InstructionDetailStacktraceSplitter);

            m_InstructionDetailsScrollPos = EditorGUILayout.BeginScrollView(m_InstructionDetailsScrollPos, GUIViewDebuggerWindow.Styles.boxStyle);

            DoDrawSelectedInstructionDetails(m_ListViewState.row);
            EditorGUILayout.EndScrollView();

            DrawInspectedStacktrace(availableWidth);
            SplitterGUILayout.EndVerticalSplit();
        }
示例#9
0
        void ShowDrawInstructions()
        {
            if (inspected == null)
            {
                ClearInstructionHighlighter();
                return;
            }

            if (m_QueuedPointInspection)
            {
                instructionModeView.ClearRowSelection();
                instructionModeView.SelectRow(FindInstructionUnderPoint(m_PointToInspect));
                m_QueuedPointInspection = false;
            }

            SplitterGUILayout.BeginHorizontalSplit(m_InstructionListDetailSplitter);

            instructionModeView.DrawInstructionList();

            EditorGUILayout.BeginVertical();
            {
                instructionModeView.DrawSelectedInstructionDetails();
            }
            EditorGUILayout.EndVertical();

            SplitterGUILayout.EndHorizontalSplit();
        }
示例#10
0
 public void OnGUI()
 {
     GUILayout.BeginVertical(new GUILayoutOption[0]);
     SplitterGUILayout.BeginHorizontalSplit(this.m_Splitter, EditorStyles.toolbar, new GUILayoutOption[0]);
     this.DrawHeader();
     SplitterGUILayout.EndHorizontalSplit();
     if (this.m_Root == null)
     {
         GUILayout.EndVertical();
     }
     else
     {
         this.HandleKeyboard();
         this.m_ScrollPosition = GUILayout.BeginScrollView(this.m_ScrollPosition, MemoryTreeList.styles.background);
         int num = 0;
         foreach (MemoryElement current in this.m_Root.children)
         {
             this.DrawItem(current, ref num, 1);
             num++;
         }
         GUILayoutUtility.GetRect(0f, (float)num * 16f, new GUILayoutOption[]
         {
             GUILayout.ExpandWidth(true)
         });
         if (Event.current.type == EventType.Repaint)
         {
             this.m_VisibleHeight = GUIClip.visibleRect.height;
         }
         GUILayout.EndScrollView();
         GUILayout.EndVertical();
     }
 }
示例#11
0
        private void LayoutWithStripsOnRightSideOneScrollBar(List <AudioMixerGroupController> allGroups, Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap)
        {
            SplitterState horizontalSplitter = this.m_LayoutStripsOnRight.m_HorizontalSplitter;

            SplitterGUILayout.BeginHorizontalSplit(horizontalSplitter, new GUILayoutOption[]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            SplitterGUILayout.EndHorizontalSplit();
            float num   = (float)horizontalSplitter.realSizes[0];
            float width = base.position.width - num;
            Rect  rect  = new Rect(0f, 17f, num, base.position.height - 17f);
            Rect  rect2 = new Rect(num, 17f, width, rect.height);

            if (EditorGUIUtility.isProSkin)
            {
                EditorGUI.DrawRect(rect, (!EditorGUIUtility.isProSkin) ? new Color(0.6f, 0.6f, 0.6f, 0f) : new Color(0.19f, 0.19f, 0.19f));
            }
            float num2 = 10f;

            Rect[] array = new Rect[this.m_SectionOrder.Length];
            float  num3  = 0f;

            for (int i = 0; i < this.m_SectionOrder.Length; i++)
            {
                num3 += num2;
                if (i > 0)
                {
                    num3 += array[i - 1].height;
                }
                array[i] = new Rect(0f, num3, rect.width, this.GetHeightOfSection(this.m_SectionOrder[i]));
                Rect[] expr_157_cp_0 = array;
                int    expr_157_cp_1 = i;
                expr_157_cp_0[expr_157_cp_1].x = expr_157_cp_0[expr_157_cp_1].x + 4f;
                Rect[] expr_171_cp_0 = array;
                int    expr_171_cp_1 = i;
                expr_171_cp_0[expr_171_cp_1].width = expr_171_cp_0[expr_171_cp_1].width - 8f;
            }
            Rect viewRect = new Rect(0f, 0f, 1f, array.Last <Rect>().yMax);

            if (viewRect.height > rect.height)
            {
                for (int j = 0; j < array.Length; j++)
                {
                    Rect[] expr_1E3_cp_0 = array;
                    int    expr_1E3_cp_1 = j;
                    expr_1E3_cp_0[expr_1E3_cp_1].width = expr_1E3_cp_0[expr_1E3_cp_1].width - 14f;
                }
            }
            this.m_SectionsScrollPosition = GUI.BeginScrollView(rect, this.m_SectionsScrollPosition, viewRect);
            this.DoSections(rect, array, this.m_SectionOrder);
            GUI.EndScrollView();
            this.m_ChannelStripView.OnGUI(rect2, this.m_ShowReferencedBuses, this.m_ShowBusConnections, this.m_ShowBusConnectionsOfSelection, allGroups, effectMap, this.m_SortGroupsAlphabetically, this.m_ShowDeveloperOverlays, this.m_GroupTree.ScrollToItem);
            EditorGUI.DrawRect(new Rect(rect.xMax - 1f, 17f, 1f, base.position.height - 17f), (!EditorGUIUtility.isProSkin) ? new Color(0.6f, 0.6f, 0.6f) : new Color(0.15f, 0.15f, 0.15f));
        }
示例#12
0
 private void DoTitles(SplitterState splitter)
 {
     SplitterGUILayout.BeginHorizontalSplit(splitter, new GUILayoutOption[0]);
     for (int i = 0; i < this.titleNames.Length; i++)
     {
         GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxHeight(16f) };
         GUILayout.Toggle(false, this.titleNames[i], EditorStyles.toolbarButton, options);
     }
     SplitterGUILayout.EndHorizontalSplit();
 }
示例#13
0
 public void OnAnimEditorGUI(EditorWindow parent, Rect position)
 {
     this.m_DopeSheet.m_Owner = parent;
     this.m_OwnerWindow       = parent;
     this.m_Position          = position;
     if (!this.m_Initialized)
     {
         this.Initialize();
     }
     this.m_State.OnGUI();
     if (this.m_State.disabled && this.controlInterface.recording)
     {
         this.m_State.StopRecording();
     }
     this.SynchronizeLayout();
     using (new EditorGUI.DisabledScope(this.m_State.disabled || this.m_State.animatorIsOptimized))
     {
         this.OverlayEventOnGUI();
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         SplitterGUILayout.BeginHorizontalSplit(this.m_HorizontalSplitter, new GUILayoutOption[0]);
         GUILayout.BeginVertical(new GUILayoutOption[0]);
         GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
         this.PlayControlsOnGUI();
         GUILayout.EndHorizontal();
         GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
         this.LinkOptionsOnGUI();
         this.ClipSelectionDropDownOnGUI();
         GUILayout.FlexibleSpace();
         this.FrameRateInputFieldOnGUI();
         this.AddKeyframeButtonOnGUI();
         this.AddEventButtonOnGUI();
         GUILayout.EndHorizontal();
         this.HierarchyOnGUI();
         GUILayout.BeginHorizontal(AnimationWindowStyles.miniToolbar, new GUILayoutOption[0]);
         this.TabSelectionOnGUI();
         GUILayout.EndHorizontal();
         GUILayout.EndVertical();
         GUILayout.BeginVertical(new GUILayoutOption[0]);
         Rect rect  = GUILayoutUtility.GetRect(this.contentWidth, 18f);
         Rect rect2 = GUILayoutUtility.GetRect(this.contentWidth, 18f);
         Rect rect3 = GUILayoutUtility.GetRect(this.contentWidth, this.contentWidth, 0f, 3.40282347E+38f, new GUILayoutOption[]
         {
             GUILayout.ExpandHeight(true)
         });
         this.MainContentOnGUI(rect3);
         this.TimeRulerOnGUI(rect);
         this.EventLineOnGUI(rect2);
         GUILayout.EndVertical();
         SplitterGUILayout.EndHorizontalSplit();
         GUILayout.EndHorizontal();
         this.OverlayOnGUI(rect3);
         this.RenderEventTooltip();
         this.HandleHotKeys();
     }
 }
示例#14
0
 public void OnAnimEditorGUI(EditorWindow parent, Rect position)
 {
     this.m_DopeSheet.m_Owner = parent;
     this.m_OwnerWindow       = parent;
     this.m_Position          = position;
     if (!this.m_Initialized)
     {
         this.Initialize();
     }
     this.m_State.OnGUI();
     this.SynchronizeLayout();
     GUILayout.BeginHorizontal(new GUILayoutOption[0]);
     SplitterGUILayout.BeginHorizontalSplit(this.m_HorizontalSplitter, new GUILayoutOption[0]);
     using (new EditorGUI.DisabledScope(this.m_State.disabled || this.m_State.animatorIsOptimized))
     {
         GUILayout.BeginVertical(new GUILayoutOption[0]);
         GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
         using (new EditorGUI.DisabledScope(!this.m_State.canRecord || Application.isPlaying))
         {
             if (this.policy == null || this.policy.allowRecording)
             {
                 this.RecordButtonOnGUI();
                 this.PlayButtonOnGUI();
             }
         }
         this.FrameNavigationOnGUI();
         this.AddKeyframeButtonOnGUI();
         this.AddEventButtonOnGUI();
         GUILayout.FlexibleSpace();
         GUILayout.EndHorizontal();
         GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
         this.ClipSelectionDropDownOnGUI();
         this.FrameRateInputFieldOnGUI();
         GUILayout.EndHorizontal();
         this.HierarchyOnGUI();
         GUILayout.BeginHorizontal(AnimationWindowStyles.miniToolbar, new GUILayoutOption[0]);
         this.TabSelectionOnGUI();
         GUILayout.EndHorizontal();
         GUILayout.EndVertical();
         GUILayout.BeginVertical(new GUILayoutOption[0]);
         Rect rect              = GUILayoutUtility.GetRect(this.m_Position.width - this.hierarchyWidth, 18f);
         Rect rect2             = GUILayoutUtility.GetRect(this.m_Position.width - this.hierarchyWidth, 18f);
         Rect contentLayoutRect = this.GetContentLayoutRect();
         this.MainContentOnGUI(contentLayoutRect);
         this.TimeRulerOnGUI(rect);
         this.EventLineOnGUI(rect2);
         GUILayout.EndVertical();
         SplitterGUILayout.EndHorizontalSplit();
         GUILayout.EndHorizontal();
         this.RenderEventTooltip();
     }
     this.HandleHotKeys();
     this.PostLayoutChanges();
 }
示例#15
0
 private void DoTitles(SplitterState splitter)
 {
     SplitterGUILayout.BeginHorizontalSplit(splitter);
     for (int index = 0; index < this.titleNames.Length; ++index)
     {
         GUILayout.Toggle(0 != 0, this.titleNames[index], EditorStyles.toolbarButton, new GUILayoutOption[1]
         {
             GUILayout.MaxHeight(16f)
         });
     }
     SplitterGUILayout.EndHorizontalSplit();
 }
示例#16
0
        private void LayoutWithStripsOnTop(List <AudioMixerGroupController> allGroups, Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap)
        {
            SplitterState horizontalSplitter = this.m_LayoutStripsOnTop.m_HorizontalSplitter;
            SplitterState verticalSplitter   = this.m_LayoutStripsOnTop.m_VerticalSplitter;

            SplitterGUILayout.BeginVerticalSplit(verticalSplitter, new GUILayoutOption[2]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            if (this.m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical();
                GUILayout.EndVertical();
            }
            SplitterGUILayout.BeginHorizontalSplit(horizontalSplitter, new GUILayoutOption[2]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            if (!this.m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical();
                GUILayout.EndVertical();
            }
            SplitterGUILayout.EndHorizontalSplit();
            SplitterGUILayout.EndVerticalSplit();
            float y1     = !this.m_GroupsRenderedAboveSections ? 17f + (float)verticalSplitter.realSizes[0] : 17f;
            float height = !this.m_GroupsRenderedAboveSections ? (float)verticalSplitter.realSizes[1] : (float)verticalSplitter.realSizes[0];
            float y2     = this.m_GroupsRenderedAboveSections ? 17f + (float)verticalSplitter.realSizes[0] : 17f;
            float num    = this.m_GroupsRenderedAboveSections ? (float)verticalSplitter.realSizes[1] : (float)verticalSplitter.realSizes[0];
            Rect  rect   = new Rect(0.0f, y1, this.position.width, height);
            Rect  totalRectOfSections = new Rect(0.0f, rect.yMax, this.position.width, this.position.height - rect.height);

            Rect[] sectionRects = new Rect[this.m_SectionOrder.Length];
            for (int index = 0; index < sectionRects.Length; ++index)
            {
                float x = index <= 0 ? 0.0f : sectionRects[index - 1].xMax;
                sectionRects[index] = new Rect(x, y2, (float)horizontalSplitter.realSizes[index], num - 12f);
            }
            sectionRects[0].x     += 8f;
            sectionRects[0].width -= 12f;
            sectionRects[sectionRects.Length - 1].x     += 4f;
            sectionRects[sectionRects.Length - 1].width -= 12f;
            for (int index = 1; index < sectionRects.Length - 1; ++index)
            {
                sectionRects[index].x     += 4f;
                sectionRects[index].width -= 8f;
            }
            this.DoSections(totalRectOfSections, sectionRects, this.m_SectionOrder);
            this.m_ChannelStripView.OnGUI(rect, this.m_ShowReferencedBuses, this.m_ShowBusConnections, this.m_ShowBusConnectionsOfSelection, allGroups, effectMap, this.m_SortGroupsAlphabetically, this.m_ShowDeveloperOverlays, this.m_GroupTree.ScrollToItem);
            EditorGUI.DrawRect(new Rect(0.0f, (float)(17.0 + (double)verticalSplitter.realSizes[0] - 1.0), this.position.width, 1f), new Color(0.0f, 0.0f, 0.0f, 0.4f));
        }
示例#17
0
        private void LayoutWithStripsOnRightSideOneScrollBar(List <AudioMixerGroupController> allGroups, Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap)
        {
            SplitterState horizontalSplitter = this.m_LayoutStripsOnRight.m_HorizontalSplitter;

            SplitterGUILayout.BeginHorizontalSplit(horizontalSplitter, new GUILayoutOption[2]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            SplitterGUILayout.EndHorizontalSplit();
            float realSize = (float)horizontalSplitter.realSizes[0];
            float width    = this.position.width - realSize;
            Rect  rect1    = new Rect(0.0f, 17f, realSize, this.position.height - 17f);
            Rect  rect2    = new Rect(realSize, 17f, width, rect1.height);

            if (EditorGUIUtility.isProSkin)
            {
                EditorGUI.DrawRect(rect1, !EditorGUIUtility.isProSkin ? new Color(0.6f, 0.6f, 0.6f, 0.0f) : new Color(0.19f, 0.19f, 0.19f));
            }
            float num = 10f;

            Rect[] sectionRects = new Rect[this.m_SectionOrder.Length];
            float  y            = 0.0f;

            for (int index = 0; index < this.m_SectionOrder.Length; ++index)
            {
                y += num;
                if (index > 0)
                {
                    y += sectionRects[index - 1].height;
                }
                sectionRects[index]        = new Rect(0.0f, y, rect1.width, this.GetHeightOfSection(this.m_SectionOrder[index]));
                sectionRects[index].x     += 4f;
                sectionRects[index].width -= 8f;
            }
            Rect viewRect = new Rect(0.0f, 0.0f, 1f, ((IEnumerable <Rect>)sectionRects).Last <Rect>().yMax);

            if ((double)viewRect.height > (double)rect1.height)
            {
                for (int index = 0; index < sectionRects.Length; ++index)
                {
                    sectionRects[index].width -= 14f;
                }
            }
            this.m_SectionsScrollPosition = GUI.BeginScrollView(rect1, this.m_SectionsScrollPosition, viewRect);
            this.DoSections(rect1, sectionRects, this.m_SectionOrder);
            GUI.EndScrollView();
            this.m_ChannelStripView.OnGUI(rect2, this.m_ShowReferencedBuses, this.m_ShowBusConnections, this.m_ShowBusConnectionsOfSelection, allGroups, effectMap, this.m_SortGroupsAlphabetically, this.m_ShowDeveloperOverlays, this.m_GroupTree.ScrollToItem);
            EditorGUI.DrawRect(new Rect(rect1.xMax - 1f, 17f, 1f, this.position.height - 17f), !EditorGUIUtility.isProSkin ? new Color(0.6f, 0.6f, 0.6f) : new Color(0.15f, 0.15f, 0.15f));
        }
 private void ShowDrawInstructions()
 {
     if (!(this.m_Inspected == null))
     {
         if (this.m_QueuedPointInspection)
         {
             this.instructionModeView.Unselect();
             this.instructionModeView.SelectRow(this.FindInstructionUnderPoint(this.m_PointToInspect));
             this.m_QueuedPointInspection = false;
         }
         SplitterGUILayout.BeginHorizontalSplit(this.m_InstructionListDetailSplitter, new GUILayoutOption[0]);
         this.instructionModeView.DrawInstructionList();
         EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
         this.instructionModeView.DrawSelectedInstructionDetails();
         EditorGUILayout.EndVertical();
         SplitterGUILayout.EndHorizontalSplit();
     }
 }
示例#19
0
 public void OnBreadcrumbGUI(EditorWindow parent, Rect position)
 {
     this.m_DopeSheet.m_Owner = parent;
     this.m_OwnerWindow       = parent;
     this.m_Position          = position;
     if (!this.m_Initialized)
     {
         this.Initialize();
     }
     this.m_State.OnGUI();
     this.ClampSplitterSize();
     GUILayout.BeginHorizontal();
     SplitterGUILayout.BeginHorizontalSplit(this.m_HorizontalSplitter);
     EditorGUI.BeginDisabledGroup(this.m_State.disabled);
     GUILayout.BeginVertical();
     GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
     this.RecordButtonOnGUI();
     this.PlayButtonOnGUI();
     this.FrameNavigationOnGUI();
     this.AddKeyframeButtonOnGUI();
     this.AddEventButtonOnGUI();
     GUILayout.FlexibleSpace();
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal(EditorStyles.toolbarButton, new GUILayoutOption[0]);
     this.ClipSelectionDropDownOnGUI();
     this.FrameRateInputFieldOnGUI();
     GUILayout.EndHorizontal();
     this.HierarchyOnGUI();
     GUILayout.BeginHorizontal(AnimationWindowStyles.miniToolbar, new GUILayoutOption[0]);
     this.TabSelectionButtonsOnGUI();
     GUILayout.EndHorizontal();
     GUILayout.EndVertical();
     GUILayout.BeginVertical();
     this.TimeRulerOnGUI();
     this.EventLineOnGUI();
     this.MainContentOnGUI();
     GUILayout.EndVertical();
     SplitterGUILayout.EndHorizontalSplit();
     GUILayout.EndHorizontal();
     this.RenderEventTooltip();
     EditorGUI.EndDisabledGroup();
     this.HandleFrameNavigationHotKeys();
 }
示例#20
0
        private void DrawCPUOrRenderingPane(ProfilerHierarchyGUI mainPane, ProfilerHierarchyGUI detailPane, ProfilerTimelineGUI timelinePane)
        {
            ProfilerProperty profilerProperty = this.CreateProperty(false);

            this.DrawCPUOrRenderingToolbar(profilerProperty);
            if (!ProfilerWindow.CheckFrameData(profilerProperty))
            {
                profilerProperty.Cleanup();
                return;
            }
            if (timelinePane != null && this.m_ViewType == ProfilerViewType.Timeline)
            {
                float num = (float)this.m_VertSplit.realSizes[1];
                num -= EditorStyles.toolbar.CalcHeight(GUIContent.none, 10f) + 2f;
                timelinePane.DoGUI(this.GetActiveVisibleFrameIndex(), base.position.width, base.position.height - num, num);
                profilerProperty.Cleanup();
            }
            else
            {
                SplitterGUILayout.BeginHorizontalSplit(this.m_ViewSplit, new GUILayoutOption[0]);
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                bool expandAll = false;
                mainPane.DoGUI(profilerProperty, this.m_SearchString, expandAll);
                profilerProperty.Cleanup();
                GUILayout.EndVertical();
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                ProfilerProperty profilerProperty2 = this.CreateProperty(true);
                ProfilerProperty detailedProperty  = mainPane.GetDetailedProperty(profilerProperty2);
                profilerProperty2.Cleanup();
                if (detailedProperty != null)
                {
                    detailPane.DoGUI(detailedProperty, string.Empty, expandAll);
                    detailedProperty.Cleanup();
                }
                else
                {
                    ProfilerWindow.DrawEmptyCPUOrRenderingDetailPane();
                }
                GUILayout.EndVertical();
                SplitterGUILayout.EndHorizontalSplit();
            }
        }
示例#21
0
 public virtual void DrawSelectedInstructionDetails()
 {
     if (this.m_ListViewState.selectionChanged)
     {
         this.OnSelectedInstructionChanged(this.m_ListViewState.row);
     }
     if (!this.HasSelectedinstruction())
     {
         this.DoDrawNothingSelected();
     }
     else
     {
         SplitterGUILayout.BeginVerticalSplit(this.m_InstructionDetailStacktraceSplitter, new GUILayoutOption[0]);
         this.m_InstructionDetailsScrollPos = EditorGUILayout.BeginScrollView(this.m_InstructionDetailsScrollPos, GUIViewDebuggerWindow.s_Styles.boxStyle, new GUILayoutOption[0]);
         this.DoDrawSelectedInstructionDetails(this.m_ListViewState.row);
         EditorGUILayout.EndScrollView();
         this.DrawInspectedStacktrace();
         SplitterGUILayout.EndVerticalSplit();
     }
 }
示例#22
0
        public void OnGUI()
        {
            GUILayout.BeginVertical();

            SplitterGUILayout.BeginHorizontalSplit(m_Splitter, EditorStyles.toolbar);
            DrawHeader();
            SplitterGUILayout.EndHorizontalSplit();

            if (m_Root == null)
            {
                GUILayout.EndVertical();
                return;
            }

            HandleKeyboard();

            m_ScrollPosition = GUILayout.BeginScrollView(m_ScrollPosition, styles.background);
            int row = 0;

            foreach (MemoryElement memoryElement in m_Root.children)
            {
                DrawItem(memoryElement, ref row, 1);
                row++;
            }

            GUILayoutUtility.GetRect(0f, row * kRowHeight, GUILayout.ExpandWidth(true));

            if (Event.current.type == EventType.Repaint)
            {
                m_VisibleHeight = GUIClip.visibleRect.height;
            }

            GUILayout.EndScrollView();

            GUILayout.EndVertical();
        }
示例#23
0
        public bool DoGUI(bool hasFocus)
        {
            bool enabled = GUI.enabled;

            if (ms_Style == null)
            {
                ms_Style           = new Constants();
                ms_Style.entryEven = new GUIStyle(ms_Style.entryEven);
                ms_Style.entryEven.padding.left = 3;
                ms_Style.entryOdd = new GUIStyle(ms_Style.entryOdd);
                ms_Style.entryOdd.padding.left = 3;
                ms_Style.label                    = new GUIStyle(ms_Style.label);
                ms_Style.boldLabel                = new GUIStyle(ms_Style.boldLabel);
                ms_Style.label.padding.left       = 3;
                ms_Style.boldLabel.padding.left   = 3;
                ms_Style.boldLabel.padding.top    = 0;
                ms_Style.boldLabel.padding.bottom = 0;
                this.DoLocalSelectionChange();
            }
            EditorGUIUtility.SetIconSize(ms_IconSize);
            if ((Event.current.type == EventType.KeyDown) && (Event.current.keyCode == KeyCode.Escape))
            {
                this.CancelShowCustomDiff();
                Event.current.Use();
            }
            SplitterGUILayout.BeginHorizontalSplit(this.m_HorSplit, new GUILayoutOption[0]);
            GUILayout.BeginVertical(new GUILayoutOption[0]);
            GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true) };
            Rect theRect = GUILayoutUtility.GetRect((float)0f, (float)0f, options);

            this.m_FileViewWin.DoGUI(this, theRect, hasFocus);
            GUILayout.EndVertical();
            GUILayout.BeginVertical(new GUILayoutOption[0]);
            this.WebLikeHistory(hasFocus);
            GUILayout.EndVertical();
            SplitterGUILayout.EndHorizontalSplit();
            if (Event.current.type == EventType.Repaint)
            {
                Handles.color = Color.black;
                Handles.DrawLine(new Vector3((float)(this.m_HorSplit.realSizes[0] - 1), theRect.y, 0f), new Vector3((float)(this.m_HorSplit.realSizes[0] - 1), theRect.yMax, 0f));
                Handles.DrawLine(new Vector3(0f, theRect.yMax, 0f), new Vector3((float)Screen.width, theRect.yMax, 0f));
            }
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            GUI.enabled = (this.m_FileViewWin.SelType == ASHistoryFileView.SelectionType.DeletedItems) && enabled;
            if (GUILayout.Button(EditorGUIUtility.TextContent("Recover"), ms_Style.button, new GUILayoutOption[0]))
            {
                this.m_FileViewWin.DoRecover();
            }
            GUILayout.FlexibleSpace();
            if (this.m_InRevisionSelectMode)
            {
                GUI.enabled = enabled;
                GUILayout.Label(EditorGUIUtility.TextContent("Select revision to compare to"), ms_Style.boldLabel, new GUILayoutOption[0]);
            }
            GUILayout.Space(10f);
            GUI.enabled = this.IsComparableAssetSelected() && enabled;
            if (GUILayout.Button(EditorGUIUtility.TextContent("Compare to Local Version"), ms_Style.button, new GUILayoutOption[0]))
            {
                this.DoShowDiff(false, this.ChangeLogSelectionRev, -1);
                GUIUtility.ExitGUI();
            }
            GUI.enabled = ((this.ChangeLogSelectionRev > 0) && (this.m_ChangeLogSelectionGUID != string.Empty)) && enabled;
            if (GUILayout.Button(EditorGUIUtility.TextContent("Download Selected File"), ms_Style.button, new GUILayoutOption[0]))
            {
                this.DownloadFile();
            }
            GUILayout.Space(10f);
            GUI.enabled = (this.ChangeLogSelectionRev > 0) && enabled;
            if (GUILayout.Button((this.ChangeLogSelectionRev <= 0) ? "Revert Entire Project" : ("Revert Entire Project to " + this.ChangeLogSelectionRev), ms_Style.button, new GUILayoutOption[0]))
            {
                this.DoRevertProject();
            }
            GUI.enabled = enabled;
            GUILayout.EndHorizontal();
            GUILayout.Space(10f);
            if (!this.m_SplittersOk && (Event.current.type == EventType.Repaint))
            {
                this.m_SplittersOk = true;
                HandleUtility.Repaint();
            }
            EditorGUIUtility.SetIconSize(Vector2.zero);
            return(true);
        }
示例#24
0
        public void UpdateGUI()
        {
            SplitterGUILayout.BeginHorizontalSplit(this.horSplit, new GUILayoutOption[0]);
            GUILayout.BeginVertical(this.constants.box, new GUILayoutOption[0]);
            GUILayout.Label(this.totalUpdates, this.constants.title, new GUILayoutOption[0]);
            IEnumerator enumerator = ListViewGUILayout.ListView(this.lv, GUIStyle.none, new GUILayoutOption[0]).GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    ListViewElement current  = (ListViewElement)enumerator.Current;
                    Rect            position = current.position;
                    position.x++;
                    position.y++;
                    if (Event.current.type == EventType.Repaint)
                    {
                        if ((current.row % 2) == 0)
                        {
                            this.constants.entryEven.Draw(position, false, false, false, false);
                        }
                        else
                        {
                            this.constants.entryOdd.Draw(position, false, false, false, false);
                        }
                    }
                    GUILayout.BeginVertical((current.row != this.lv.row) ? this.constants.entryNormal : this.constants.entrySelected, new GUILayoutOption[0]);
                    GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MinWidth(50f) };
                    GUILayout.Label(this.messageFirstLines[current.row], this.constants.serverUpdateLog, options);
                    GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                    GUILayoutOption[] optionArray2 = new GUILayoutOption[] { GUILayout.MinWidth(100f) };
                    GUILayout.Label(this.changesets[current.row].changeset.ToString() + " " + this.changesets[current.row].date, this.constants.serverUpdateInfo, optionArray2);
                    GUILayoutOption[] optionArray3 = new GUILayoutOption[] { GUILayout.Width((float)this.maxNickLength) };
                    GUILayout.Label(this.changesets[current.row].owner, this.constants.serverUpdateInfo, optionArray3);
                    GUILayout.EndHorizontal();
                    GUILayout.EndVertical();
                }
            }
            finally
            {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            if (this.lv.selectionChanged)
            {
                this.SetSelectedRevisionLine(this.lv.row);
            }
            GUILayout.EndVertical();
            SplitterGUILayout.BeginVerticalSplit(this.vertSplit, new GUILayoutOption[0]);
            GUILayout.BeginVertical(this.constants.box, new GUILayoutOption[0]);
            GUILayout.Label("Changeset", this.constants.title, new GUILayoutOption[0]);
            int         num         = -1;
            int         file        = -1;
            IEnumerator enumerator2 = ListViewGUILayout.ListView(this.pv.lv, GUIStyle.none, new GUILayoutOption[0]).GetEnumerator();

            try
            {
                while (enumerator2.MoveNext())
                {
                    ChangeFlags     changeFlags;
                    ListViewElement element2 = (ListViewElement)enumerator2.Current;
                    if ((num == -1) && !this.pv.IndexToFolderAndFile(element2.row, ref num, ref file))
                    {
                        return;
                    }
                    ParentViewFolder folder = this.pv.folders[num];
                    if (ListViewGUILayout.HasMouseDown(element2.position))
                    {
                        if (Event.current.clickCount == 2)
                        {
                            if (!this.isDirSelected && (this.selectedGUID != string.Empty))
                            {
                                this.DoShowDiff(false);
                                GUIUtility.ExitGUI();
                            }
                        }
                        else
                        {
                            this.pv.lv.scrollPos = ListViewShared.ListViewScrollToRow(this.pv.lv.ilvState, element2.row);
                            this.DoSelect(num, file, element2.row);
                        }
                    }
                    else if (ListViewGUILayout.HasMouseDown(element2.position, 1))
                    {
                        if (this.lv.row != element2.row)
                        {
                            this.DoSelect(num, file, element2.row);
                        }
                        if (!this.isDirSelected && (this.selectedGUID != string.Empty))
                        {
                            GUIUtility.hotControl = 0;
                            Rect rect2 = new Rect(Event.current.mousePosition.x, Event.current.mousePosition.y, 1f, 1f);
                            EditorUtility.DisplayCustomMenu(rect2, this.dropDownMenuItems, null, new EditorUtility.SelectMenuItemFunction(this.ContextMenuClick), null);
                            Event.current.Use();
                        }
                    }
                    if ((element2.row == this.pv.lv.row) && (Event.current.type == EventType.Repaint))
                    {
                        this.constants.entrySelected.Draw(element2.position, false, false, false, false);
                    }
                    if (file != -1)
                    {
                        Texture2D cachedIcon = AssetDatabase.GetCachedIcon(folder.name + "/" + folder.files[file].name) as Texture2D;
                        if (cachedIcon == null)
                        {
                            cachedIcon = InternalEditorUtility.GetIconForFile(folder.files[file].name);
                        }
                        GUILayout.Label(new GUIContent(folder.files[file].name, cachedIcon), this.constants.element, new GUILayoutOption[0]);
                        changeFlags = folder.files[file].changeFlags;
                    }
                    else
                    {
                        GUILayout.Label(folder.name, this.constants.header, new GUILayoutOption[0]);
                        changeFlags = folder.changeFlags;
                    }
                    GUIContent badgeNew = null;
                    if (this.HasFlag(changeFlags, ChangeFlags.Undeleted) || this.HasFlag(changeFlags, ChangeFlags.Created))
                    {
                        badgeNew = ASMainWindow.constants.badgeNew;
                    }
                    else if (this.HasFlag(changeFlags, ChangeFlags.Deleted))
                    {
                        badgeNew = ASMainWindow.constants.badgeDelete;
                    }
                    else if (this.HasFlag(changeFlags, ChangeFlags.Renamed) || this.HasFlag(changeFlags, ChangeFlags.Moved))
                    {
                        badgeNew = ASMainWindow.constants.badgeMove;
                    }
                    if ((badgeNew != null) && (Event.current.type == EventType.Repaint))
                    {
                        Rect rect3 = new Rect(((element2.position.x + element2.position.width) - badgeNew.image.width) - 5f, (element2.position.y + (element2.position.height / 2f)) - (badgeNew.image.height / 2), (float)badgeNew.image.width, (float)badgeNew.image.height);
                        EditorGUIUtility.SetIconSize(Vector2.zero);
                        GUIStyle.none.Draw(rect3, badgeNew, false, false, false, false);
                        EditorGUIUtility.SetIconSize(this.iconSize);
                    }
                    this.pv.NextFileFolder(ref num, ref file);
                }
            }
            finally
            {
                IDisposable disposable2 = enumerator2 as IDisposable;
                if (disposable2 != null)
                {
                    disposable2.Dispose();
                }
            }
            if (this.pv.lv.selectionChanged && (this.selectedGUID != string.Empty))
            {
                if (this.selectedGUID != AssetServer.GetRootGUID())
                {
                    AssetServer.SetSelectionFromGUID(this.selectedGUID);
                }
                else
                {
                    AssetServer.SetSelectionFromGUID(string.Empty);
                }
            }
            if ((GUIUtility.keyboardControl == this.pv.lv.ID) && (((Event.current.type == EventType.KeyDown) && (Event.current.keyCode == KeyCode.Return)) && (!this.isDirSelected && (this.selectedGUID != string.Empty))))
            {
                this.DoShowDiff(false);
                GUIUtility.ExitGUI();
            }
            GUILayout.EndVertical();
            GUILayout.BeginVertical(this.constants.box, new GUILayoutOption[0]);
            GUILayout.Label("Update Message", this.constants.title, new GUILayoutOption[0]);
            GUILayout.TextArea((this.lv.row < 0) ? "" : this.changesets[this.lv.row].message, this.constants.wwText, new GUILayoutOption[0]);
            GUILayout.EndVertical();
            SplitterGUILayout.EndVerticalSplit();
            SplitterGUILayout.EndHorizontalSplit();
        }
示例#25
0
        private void OnGUI()
        {
            Event current = Event.current;

            ConsoleWindow.LoadIcons();
            GUILayout.BeginHorizontal(ConsoleWindow.Constants.Toolbar, new GUILayoutOption[0]);
            if (GUILayout.Button("Clear", ConsoleWindow.Constants.MiniButton, new GUILayoutOption[0]))
            {
                LogEntries.Clear();
                GUIUtility.keyboardControl = 0;
            }
            int count = LogEntries.GetCount();

            if (this.m_ListView.totalRows != count && this.m_ListView.scrollPos.y >= (float)(this.m_ListView.rowHeight * this.m_ListView.totalRows - this.ms_LVHeight))
            {
                this.m_ListView.scrollPos.y = (float)(count * 32 - this.ms_LVHeight);
            }
            EditorGUILayout.Space();
            bool flag = this.HasFlag(ConsoleWindow.ConsoleFlags.Collapse);

            this.SetFlag(ConsoleWindow.ConsoleFlags.Collapse, GUILayout.Toggle(flag, "Collapse", ConsoleWindow.Constants.MiniButtonLeft, new GUILayoutOption[0]));
            bool flag2 = flag != this.HasFlag(ConsoleWindow.ConsoleFlags.Collapse);

            if (flag2)
            {
                this.m_ListView.row         = -1;
                this.m_ListView.scrollPos.y = (float)(LogEntries.GetCount() * 32);
            }
            this.SetFlag(ConsoleWindow.ConsoleFlags.ClearOnPlay, GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.ClearOnPlay), "Clear on Play", ConsoleWindow.Constants.MiniButtonMiddle, new GUILayoutOption[0]));
            this.SetFlag(ConsoleWindow.ConsoleFlags.ErrorPause, GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.ErrorPause), "Error Pause", ConsoleWindow.Constants.MiniButtonRight, new GUILayoutOption[0]));
            EditorGUILayout.Space();
            if (this.m_DevBuild)
            {
                GUILayout.FlexibleSpace();
                this.SetFlag(ConsoleWindow.ConsoleFlags.StopForAssert, GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.StopForAssert), "Stop for Assert", ConsoleWindow.Constants.MiniButtonLeft, new GUILayoutOption[0]));
                this.SetFlag(ConsoleWindow.ConsoleFlags.StopForError, GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.StopForError), "Stop for Error", ConsoleWindow.Constants.MiniButtonRight, new GUILayoutOption[0]));
            }
            GUILayout.FlexibleSpace();
            int num  = 0;
            int num2 = 0;
            int num3 = 0;

            LogEntries.GetCountsByType(ref num, ref num2, ref num3);
            bool val  = GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.LogLevelLog), new GUIContent((num3 > 999) ? "999+" : num3.ToString(), (num3 <= 0) ? ConsoleWindow.iconInfoMono : ConsoleWindow.iconInfoSmall), ConsoleWindow.Constants.MiniButtonRight, new GUILayoutOption[0]);
            bool val2 = GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.LogLevelWarning), new GUIContent((num2 > 999) ? "999+" : num2.ToString(), (num2 <= 0) ? ConsoleWindow.iconWarnMono : ConsoleWindow.iconWarnSmall), ConsoleWindow.Constants.MiniButtonMiddle, new GUILayoutOption[0]);
            bool val3 = GUILayout.Toggle(this.HasFlag(ConsoleWindow.ConsoleFlags.LogLevelError), new GUIContent((num > 999) ? "999+" : num.ToString(), (num <= 0) ? ConsoleWindow.iconErrorMono : ConsoleWindow.iconErrorSmall), ConsoleWindow.Constants.MiniButtonLeft, new GUILayoutOption[0]);

            this.SetFlag(ConsoleWindow.ConsoleFlags.LogLevelLog, val);
            this.SetFlag(ConsoleWindow.ConsoleFlags.LogLevelWarning, val2);
            this.SetFlag(ConsoleWindow.ConsoleFlags.LogLevelError, val3);
            GUILayout.EndHorizontal();
            this.m_ListView.totalRows = LogEntries.StartGettingEntries();
            SplitterGUILayout.BeginVerticalSplit(this.spl, new GUILayoutOption[0]);
            EditorGUIUtility.SetIconSize(new Vector2(32f, 32f));
            GUIContent gUIContent = new GUIContent();
            int        controlID  = GUIUtility.GetControlID(FocusType.Native);

            try
            {
                bool flag3 = false;
                bool flag4 = this.HasFlag(ConsoleWindow.ConsoleFlags.Collapse);
                foreach (ListViewElement listViewElement in ListViewGUI.ListView(this.m_ListView, ConsoleWindow.Constants.Box, new GUILayoutOption[0]))
                {
                    if (current.type == EventType.MouseDown && current.button == 0 && listViewElement.position.Contains(current.mousePosition))
                    {
                        if (current.clickCount == 2)
                        {
                            LogEntries.RowGotDoubleClicked(this.m_ListView.row);
                        }
                        flag3 = true;
                    }
                    if (current.type == EventType.Repaint)
                    {
                        int    mode = 0;
                        string text = null;
                        LogEntries.GetFirstTwoLinesEntryTextAndModeInternal(listViewElement.row, ref mode, ref text);
                        GUIStyle gUIStyle = (listViewElement.row % 2 != 0) ? ConsoleWindow.Constants.EvenBackground : ConsoleWindow.Constants.OddBackground;
                        gUIStyle.Draw(listViewElement.position, false, false, this.m_ListView.row == listViewElement.row, false);
                        gUIContent.text = text;
                        GUIStyle styleForErrorMode = ConsoleWindow.GetStyleForErrorMode(mode);
                        styleForErrorMode.Draw(listViewElement.position, gUIContent, controlID, this.m_ListView.row == listViewElement.row);
                        if (flag4)
                        {
                            Rect position = listViewElement.position;
                            gUIContent.text = LogEntries.GetEntryCount(listViewElement.row).ToString(CultureInfo.InvariantCulture);
                            Vector2 vector = ConsoleWindow.Constants.CountBadge.CalcSize(gUIContent);
                            position.xMin  = position.xMax - vector.x;
                            position.yMin += (position.yMax - position.yMin - vector.y) * 0.5f;
                            position.x    -= 5f;
                            GUI.Label(position, gUIContent, ConsoleWindow.Constants.CountBadge);
                        }
                    }
                }
                if (flag3 && this.m_ListView.scrollPos.y >= (float)(this.m_ListView.rowHeight * this.m_ListView.totalRows - this.ms_LVHeight))
                {
                    this.m_ListView.scrollPos.y = (float)(this.m_ListView.rowHeight * this.m_ListView.totalRows - this.ms_LVHeight - 1);
                }
                if (this.m_ListView.totalRows == 0 || this.m_ListView.row >= this.m_ListView.totalRows || this.m_ListView.row < 0)
                {
                    if (this.m_ActiveText.Length != 0)
                    {
                        this.SetActiveEntry(null);
                    }
                }
                else
                {
                    LogEntry logEntry = new LogEntry();
                    LogEntries.GetEntryInternal(this.m_ListView.row, logEntry);
                    this.SetActiveEntry(logEntry);
                    LogEntries.GetEntryInternal(this.m_ListView.row, logEntry);
                    if (this.m_ListView.selectionChanged || !this.m_ActiveText.Equals(logEntry.condition))
                    {
                        this.SetActiveEntry(logEntry);
                    }
                }
                if (GUIUtility.keyboardControl == this.m_ListView.ID && current.type == EventType.KeyDown && current.keyCode == KeyCode.Return && this.m_ListView.row != 0)
                {
                    LogEntries.RowGotDoubleClicked(this.m_ListView.row);
                    Event.current.Use();
                }
                if (current.type != EventType.Layout && ListViewGUI.ilvState.rectHeight != 1)
                {
                    this.ms_LVHeight = ListViewGUI.ilvState.rectHeight;
                }
            }
            finally
            {
                LogEntries.EndGettingEntries();
                EditorGUIUtility.SetIconSize(Vector2.zero);
            }
            this.m_TextScroll = GUILayout.BeginScrollView(this.m_TextScroll, ConsoleWindow.Constants.Box);
            float minHeight = ConsoleWindow.Constants.MessageStyle.CalcHeight(GUIContent.Temp(this.m_ActiveText), base.position.width);

            EditorGUILayout.SelectableLabel(this.m_ActiveText, ConsoleWindow.Constants.MessageStyle, new GUILayoutOption[]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true),
                GUILayout.MinHeight(minHeight)
            });
            GUILayout.EndScrollView();
            SplitterGUILayout.EndVerticalSplit();
            if ((current.type == EventType.ValidateCommand || current.type == EventType.ExecuteCommand) && current.commandName == "Copy" && this.m_ActiveText != string.Empty)
            {
                if (current.type == EventType.ExecuteCommand)
                {
                    EditorGUIUtility.systemCopyBuffer = this.m_ActiveText;
                }
                current.Use();
            }
        }
示例#26
0
        private void LayoutWithStripsOnTop(List <AudioMixerGroupController> allGroups, Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap)
        {
            SplitterState horizontalSplitter = this.m_LayoutStripsOnTop.m_HorizontalSplitter;
            SplitterState verticalSplitter   = this.m_LayoutStripsOnTop.m_VerticalSplitter;

            SplitterGUILayout.BeginVerticalSplit(verticalSplitter, new GUILayoutOption[]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            if (this.m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                GUILayout.EndVertical();
            }
            SplitterGUILayout.BeginHorizontalSplit(horizontalSplitter, new GUILayoutOption[]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });
            if (!this.m_GroupsRenderedAboveSections)
            {
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                GUILayout.EndVertical();
            }
            SplitterGUILayout.EndHorizontalSplit();
            SplitterGUILayout.EndVerticalSplit();
            float y      = (float)((!this.m_GroupsRenderedAboveSections) ? (17 + verticalSplitter.realSizes[0]) : 17);
            float height = (float)((!this.m_GroupsRenderedAboveSections) ? verticalSplitter.realSizes[1] : verticalSplitter.realSizes[0]);
            float y2     = (float)(this.m_GroupsRenderedAboveSections ? (17 + verticalSplitter.realSizes[0]) : 17);
            float num    = (float)(this.m_GroupsRenderedAboveSections ? verticalSplitter.realSizes[1] : verticalSplitter.realSizes[0]);
            Rect  rect   = new Rect(0f, y, base.position.width, height);
            Rect  totalRectOfSections = new Rect(0f, rect.yMax, base.position.width, base.position.height - rect.height);

            Rect[] array = new Rect[this.m_SectionOrder.Length];
            for (int i = 0; i < array.Length; i++)
            {
                float x = (i <= 0) ? 0f : array[i - 1].xMax;
                array[i] = new Rect(x, y2, (float)horizontalSplitter.realSizes[i], num - 12f);
            }
            Rect[] expr_1F2_cp_0 = array;
            int    expr_1F2_cp_1 = 0;

            expr_1F2_cp_0[expr_1F2_cp_1].x = expr_1F2_cp_0[expr_1F2_cp_1].x + 8f;
            Rect[] expr_20B_cp_0 = array;
            int    expr_20B_cp_1 = 0;

            expr_20B_cp_0[expr_20B_cp_1].width = expr_20B_cp_0[expr_20B_cp_1].width - 12f;
            Rect[] expr_229_cp_0 = array;
            int    expr_229_cp_1 = array.Length - 1;

            expr_229_cp_0[expr_229_cp_1].x = expr_229_cp_0[expr_229_cp_1].x + 4f;
            Rect[] expr_247_cp_0 = array;
            int    expr_247_cp_1 = array.Length - 1;

            expr_247_cp_0[expr_247_cp_1].width = expr_247_cp_0[expr_247_cp_1].width - 12f;
            for (int j = 1; j < array.Length - 1; j++)
            {
                Rect[] expr_26A_cp_0 = array;
                int    expr_26A_cp_1 = j;
                expr_26A_cp_0[expr_26A_cp_1].x = expr_26A_cp_0[expr_26A_cp_1].x + 4f;
                Rect[] expr_284_cp_0 = array;
                int    expr_284_cp_1 = j;
                expr_284_cp_0[expr_284_cp_1].width = expr_284_cp_0[expr_284_cp_1].width - 8f;
            }
            this.DoSections(totalRectOfSections, array, this.m_SectionOrder);
            this.m_ChannelStripView.OnGUI(rect, this.m_ShowReferencedBuses, this.m_ShowBusConnections, this.m_ShowBusConnectionsOfSelection, allGroups, effectMap, this.m_SortGroupsAlphabetically, this.m_ShowDeveloperOverlays, this.m_GroupTree.ScrollToItem);
            EditorGUI.DrawRect(new Rect(0f, (float)(17 + verticalSplitter.realSizes[0] - 1), base.position.width, 1f), new Color(0f, 0f, 0f, 0.4f));
        }
示例#27
0
        internal void DrawUIPane(ProfilerWindow win, ProfilerArea profilerArea, UISystemProfilerChart detailsChart)
        {
            this.InitIfNeeded(win);
            EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
            if (this.m_DetachedPreview != null && !this.m_DetachedPreview)
            {
                this.m_DetachedPreview = null;
            }
            bool flag = this.m_DetachedPreview;

            if (!flag)
            {
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                SplitterGUILayout.BeginHorizontalSplit(this.m_TreePreviewHorizontalSplitState, new GUILayoutOption[0]);
            }
            Rect controlRect = EditorGUILayout.GetControlRect(new GUILayoutOption[]
            {
                GUILayout.ExpandWidth(true),
                GUILayout.ExpandHeight(true)
            });

            controlRect.yMin -= EditorGUIUtility.standardVerticalSpacing;
            this.m_TreeViewControl.property = win.CreateProperty();
            if (!this.m_TreeViewControl.property.frameDataReady)
            {
                this.m_TreeViewControl.property.Cleanup();
                this.m_TreeViewControl.property = null;
                GUI.Label(controlRect, UISystemProfiler.Styles.noData);
            }
            else
            {
                int activeVisibleFrameIndex = win.GetActiveVisibleFrameIndex();
                if (this.m_UGUIProfilerTreeViewState != null && this.m_UGUIProfilerTreeViewState.lastFrame != activeVisibleFrameIndex)
                {
                    this.currentFrame = ProfilerDriver.lastFrameIndex - activeVisibleFrameIndex;
                    this.m_TreeViewControl.Reload();
                }
                this.m_TreeViewControl.OnGUI(controlRect);
                this.m_TreeViewControl.property.Cleanup();
            }
            if (!flag)
            {
                using (new EditorGUILayout.VerticalScope(new GUILayoutOption[0]))
                {
                    using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar, new GUILayoutOption[]
                    {
                        GUILayout.ExpandWidth(true)
                    }))
                    {
                        flag = GUILayout.Button(UISystemProfiler.Styles.contentDetachRender, EditorStyles.toolbarButton, new GUILayoutOption[]
                        {
                            GUILayout.Width(75f)
                        });
                        if (flag)
                        {
                            this.m_DetachedPreview          = EditorWindow.GetWindow <UISystemPreviewWindow>();
                            this.m_DetachedPreview.profiler = this;
                            this.m_DetachedPreview.Show();
                        }
                        UISystemProfiler.DrawPreviewToolbarButtons();
                    }
                    this.DrawRenderUI();
                }
                GUILayout.EndHorizontal();
                SplitterGUILayout.EndHorizontalSplit();
                EditorGUI.DrawRect(new Rect((float)this.m_TreePreviewHorizontalSplitState.realSizes[0] + controlRect.xMin, controlRect.y, 1f, controlRect.height), UISystemProfiler.Styles.separatorColor);
            }
            EditorGUILayout.EndVertical();
            if (this.m_DetachedPreview)
            {
                this.m_DetachedPreview.Repaint();
            }
        }
示例#28
0
 public static void BeginHorizontalSplit(SplitterState state, GUIStyle style, params GUILayoutOption[] options)
 {
     SplitterGUILayout.BeginSplit(state, style, false, options);
 }
示例#29
0
        internal void OnGUI()
        {
            Event e = Event.current;

            LoadIcons();

            if (!m_HasUpdatedGuiStyles)
            {
                m_LineHeight   = Mathf.RoundToInt(Constants.ErrorStyle.lineHeight);
                m_BorderHeight = Constants.ErrorStyle.border.top + Constants.ErrorStyle.border.bottom;
                UpdateListView();
            }

            GUILayout.BeginHorizontal(Constants.Toolbar);

            // Clear button and clearing options
            bool clearClicked = false;

            if (EditorGUILayout.DropDownToggle(ref clearClicked, Constants.Clear, EditorStyles.toolbarDropDownToggle))
            {
                var clearOnPlay  = HasFlag(ConsoleFlags.ClearOnPlay);
                var clearOnBuild = HasFlag(ConsoleFlags.ClearOnBuild);

                GenericMenu menu = new GenericMenu();
                menu.AddItem(Constants.ClearOnPlay, clearOnPlay, () => { SetFlag(ConsoleFlags.ClearOnPlay, !clearOnPlay); });
                menu.AddItem(Constants.ClearOnBuild, clearOnBuild, () => { SetFlag(ConsoleFlags.ClearOnBuild, !clearOnBuild); });
                var rect = GUILayoutUtility.GetLastRect();
                rect.y += EditorGUIUtility.singleLineHeight;
                menu.DropDown(rect);
            }
            if (clearClicked)
            {
                LogEntries.Clear();
                GUIUtility.keyboardControl = 0;
            }

            int currCount = LogEntries.GetCount();

            if (m_ListView.totalRows != currCount)
            {
                // scroll bar was at the bottom?
                if (m_ListView.scrollPos.y >= m_ListView.rowHeight * m_ListView.totalRows - ms_LVHeight)
                {
                    m_ListView.scrollPos.y = currCount * RowHeight - ms_LVHeight;
                }
            }

            bool wasCollapsed = HasFlag(ConsoleFlags.Collapse);

            SetFlag(ConsoleFlags.Collapse, GUILayout.Toggle(wasCollapsed, Constants.Collapse, Constants.MiniButton));

            bool collapsedChanged = (wasCollapsed != HasFlag(ConsoleFlags.Collapse));

            if (collapsedChanged)
            {
                // unselect if collapsed flag changed
                m_ListView.row = -1;

                // scroll to bottom
                m_ListView.scrollPos.y = LogEntries.GetCount() * RowHeight;
            }

            if (HasSpaceForExtraButtons())
            {
                SetFlag(ConsoleFlags.ErrorPause, GUILayout.Toggle(HasFlag(ConsoleFlags.ErrorPause), Constants.ErrorPause, Constants.MiniButton));
                PlayerConnectionGUILayout.ConnectionTargetSelectionDropdown(m_ConsoleAttachToPlayerState, EditorStyles.toolbarDropDown);
            }

            GUILayout.FlexibleSpace();

            // Search bar
            if (HasSpaceForExtraButtons())
            {
                SearchField(e);
            }

            // Flags
            int errorCount = 0, warningCount = 0, logCount = 0;

            LogEntries.GetCountsByType(ref errorCount, ref warningCount, ref logCount);
            EditorGUI.BeginChangeCheck();
            bool setLogFlag     = GUILayout.Toggle(HasFlag(ConsoleFlags.LogLevelLog), new GUIContent((logCount <= 999 ? logCount.ToString() : "999+"), logCount > 0 ? iconInfoSmall : iconInfoMono), Constants.MiniButton);
            bool setWarningFlag = GUILayout.Toggle(HasFlag(ConsoleFlags.LogLevelWarning), new GUIContent((warningCount <= 999 ? warningCount.ToString() : "999+"), warningCount > 0 ? iconWarnSmall : iconWarnMono), Constants.MiniButton);
            bool setErrorFlag   = GUILayout.Toggle(HasFlag(ConsoleFlags.LogLevelError), new GUIContent((errorCount <= 999 ? errorCount.ToString() : "999+"), errorCount > 0 ? iconErrorSmall : iconErrorMono), Constants.MiniButtonRight);

            // Active entry index may no longer be valid
            if (EditorGUI.EndChangeCheck())
            {
                SetActiveEntry(null);
            }

            SetFlag(ConsoleFlags.LogLevelLog, setLogFlag);
            SetFlag(ConsoleFlags.LogLevelWarning, setWarningFlag);
            SetFlag(ConsoleFlags.LogLevelError, setErrorFlag);

            GUILayout.EndHorizontal();

            // Console entries
            SplitterGUILayout.BeginVerticalSplit(spl);

            GUIContent tempContent      = new GUIContent();
            int        id               = GUIUtility.GetControlID(0);
            int        rowDoubleClicked = -1;

            /////@TODO: Make Frame selected work with ListViewState
            using (new GettingLogEntriesScope(m_ListView))
            {
                int  selectedRow      = -1;
                bool openSelectedItem = false;
                bool collapsed        = HasFlag(ConsoleFlags.Collapse);
                foreach (ListViewElement el in ListViewGUI.ListView(m_ListView, ListViewOptions.wantsRowMultiSelection, Constants.Box))
                {
                    if (e.type == EventType.MouseDown && e.button == 0 && el.position.Contains(e.mousePosition))
                    {
                        selectedRow = m_ListView.row;
                        if (e.clickCount == 2)
                        {
                            openSelectedItem = true;
                        }
                    }
                    else if (e.type == EventType.Repaint)
                    {
                        int    mode = 0;
                        string text = null;
                        LogEntries.GetLinesAndModeFromEntryInternal(el.row, Constants.LogStyleLineCount, ref mode, ref text);
                        bool entryIsSelected = m_ListView.selectedItems != null && el.row < m_ListView.selectedItems.Length && m_ListView.selectedItems[el.row];

                        // offset value in x for icon and text
                        var offset = Constants.LogStyleLineCount == 1 ? 4 : 8;

                        // Draw the background
                        GUIStyle s = el.row % 2 == 0 ? Constants.OddBackground : Constants.EvenBackground;
                        s.Draw(el.position, false, false, entryIsSelected, false);

                        // Draw the icon
                        GUIStyle iconStyle = GetStyleForErrorMode(mode, true, Constants.LogStyleLineCount == 1);
                        Rect     iconRect  = el.position;
                        iconRect.x += offset;
                        iconRect.y += 2;

                        iconStyle.Draw(iconRect, false, false, entryIsSelected, false);

                        // Draw the text
                        tempContent.text = text;
                        GUIStyle errorModeStyle =
                            GetStyleForErrorMode(mode, false, Constants.LogStyleLineCount == 1);
                        var textRect = el.position;
                        textRect.x += offset;

                        if (string.IsNullOrEmpty(m_SearchText))
                        {
                            errorModeStyle.Draw(textRect, tempContent, id, m_ListView.row == el.row);
                        }
                        else
                        {
                            //the whole text contains the searchtext, we have to know where it is
                            int startIndex = text.IndexOf(m_SearchText, StringComparison.OrdinalIgnoreCase);
                            if (startIndex == -1) // the searchtext is not in the visible text, we don't show the selection
                            {
                                errorModeStyle.Draw(textRect, tempContent, id, m_ListView.row == el.row);
                            }
                            else // the searchtext is visible, we show the selection
                            {
                                int endIndex = startIndex + m_SearchText.Length;

                                const bool isActive          = false;
                                const bool hasKeyboardFocus  = true; // This ensure we draw the selection text over the label.
                                const bool drawAsComposition = false;
                                Color      selectionColor    = GUI.skin.settings.selectionColor;

                                errorModeStyle.DrawWithTextSelection(textRect, tempContent, isActive, hasKeyboardFocus, startIndex, endIndex, drawAsComposition, selectionColor);
                            }
                        }

                        if (collapsed)
                        {
                            Rect badgeRect = el.position;
                            tempContent.text = LogEntries.GetEntryCount(el.row)
                                               .ToString(CultureInfo.InvariantCulture);
                            Vector2 badgeSize = Constants.CountBadge.CalcSize(tempContent);

                            if (Constants.CountBadge.fixedHeight > 0)
                            {
                                badgeSize.y = Constants.CountBadge.fixedHeight;
                            }
                            badgeRect.xMin  = badgeRect.xMax - badgeSize.x;
                            badgeRect.yMin += ((badgeRect.yMax - badgeRect.yMin) - badgeSize.y) * 0.5f;
                            badgeRect.x    -= 5f;
                            GUI.Label(badgeRect, tempContent, Constants.CountBadge);
                        }
                    }
                }

                if (selectedRow != -1)
                {
                    if (m_ListView.scrollPos.y >= m_ListView.rowHeight * m_ListView.totalRows - ms_LVHeight)
                    {
                        m_ListView.scrollPos.y = m_ListView.rowHeight * m_ListView.totalRows - ms_LVHeight - 1;
                    }
                }

                // Make sure the selected entry is up to date
                if (m_ListView.totalRows == 0 || m_ListView.row >= m_ListView.totalRows || m_ListView.row < 0)
                {
                    if (m_ActiveText.Length != 0)
                    {
                        SetActiveEntry(null);
                    }
                }
                else
                {
                    LogEntry entry = new LogEntry();
                    LogEntries.GetEntryInternal(m_ListView.row, entry);
                    SetActiveEntry(entry);

                    // see if selected entry changed. if so - clear additional info
                    LogEntries.GetEntryInternal(m_ListView.row, entry);
                    if (m_ListView.selectionChanged || !m_ActiveText.Equals(entry.message))
                    {
                        SetActiveEntry(entry);
                    }

                    // If copy, get the messages from selected rows
                    if (e.type == EventType.ExecuteCommand && e.commandName == EventCommandNames.Copy && m_ListView.selectedItems != null)
                    {
                        m_CopyString.Clear();
                        for (int rowIndex = 0; rowIndex < m_ListView.selectedItems.Length; rowIndex++)
                        {
                            if (m_ListView.selectedItems[rowIndex])
                            {
                                LogEntries.GetEntryInternal(rowIndex, entry);
                                m_CopyString.AppendLine(entry.message);
                            }
                        }
                    }
                }
                // Open entry using return key
                if ((GUIUtility.keyboardControl == m_ListView.ID) && (e.type == EventType.KeyDown) &&
                    (e.keyCode == KeyCode.Return) && (m_ListView.row != 0))
                {
                    selectedRow      = m_ListView.row;
                    openSelectedItem = true;
                }

                if (e.type != EventType.Layout && ListViewGUI.ilvState.rectHeight != 1)
                {
                    ms_LVHeight = ListViewGUI.ilvState.rectHeight;
                }

                if (openSelectedItem)
                {
                    rowDoubleClicked = selectedRow;
                    e.Use();
                }
            }

            // Prevent dead locking in EditorMonoConsole by delaying callbacks (which can log to the console) until after LogEntries.EndGettingEntries() has been
            // called (this releases the mutex in EditorMonoConsole so logging again is allowed). Fix for case 1081060.
            if (rowDoubleClicked != -1)
            {
                LogEntries.RowGotDoubleClicked(rowDoubleClicked);
            }


            // Display active text (We want word wrapped text with a vertical scrollbar)
            m_TextScroll = GUILayout.BeginScrollView(m_TextScroll, Constants.Box);

            string stackWithHyperlinks = StacktraceWithHyperlinks(m_ActiveText);
            float  height = Constants.MessageStyle.CalcHeight(GUIContent.Temp(stackWithHyperlinks), position.width);

            EditorGUILayout.SelectableLabel(stackWithHyperlinks, Constants.MessageStyle, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true), GUILayout.MinHeight(height + 10));

            GUILayout.EndScrollView();

            SplitterGUILayout.EndVerticalSplit();

            // Copy & Paste selected item
            if ((e.type == EventType.ValidateCommand || e.type == EventType.ExecuteCommand) && e.commandName == EventCommandNames.Copy && m_CopyString != null)
            {
                if (e.type == EventType.ExecuteCommand)
                {
                    EditorGUIUtility.systemCopyBuffer = m_CopyString.ToString();
                }
                e.Use();
            }
        }
示例#30
0
 public static void BeginVerticalSplit(SplitterState state, GUIStyle style, params GUILayoutOption[] options)
 {
     SplitterGUILayout.BeginSplit(state, style, true, options);
 }