public override void OnRowGUI(Rect rowRect, TreeViewItem item, int row, bool selected, bool focused) { rowRect.height -= 1f; Rect rect = rowRect; Rect rect2 = rowRect; rect.width = this.m_Column1Width; rect.xMin += this.GetFoldoutIndent(item); rect2.xMin += this.m_Column1Width + 1f; float foldoutIndent = this.GetFoldoutIndent(item); Rect position = rowRect; int itemControlID = TreeViewController.GetItemControlID(item); bool flag = false; if (this.m_TreeView.dragging != null) { flag = (this.m_TreeView.dragging.GetDropTargetControlID() == itemControlID && this.m_TreeView.data.CanBeParent(item)); } bool flag2 = this.m_TreeView.data.IsExpandable(item); Color color = new Color(0f, 0.22f, 0.44f); Color color2 = new Color(0.1f, 0.1f, 0.1f); EditorGUI.DrawRect(rect, (!selected) ? color2 : color); EditorGUI.DrawRect(rect2, (!selected) ? color2 : color); if (flag) { EditorGUI.DrawRect(new Rect(rowRect.x, rowRect.y, 3f, rowRect.height), Color.yellow); } if (Event.current.type == EventType.Repaint) { Rect position2 = rect; position2.xMin += this.m_FoldoutWidth; GUI.Label(position2, item.displayName, EditorStyles.largeLabel); if (rowRect.height > 20f) { position2.y += 16f; GUI.Label(position2, "Ut tincidunt tortor. Donec nonummy, enim in lacinia pulvinar", EditorStyles.miniLabel); } if (this.m_TreeView.dragging != null && this.m_TreeView.dragging.GetRowMarkerControlID() == itemControlID) { this.m_DraggingInsertionMarkerRect = new Rect(rowRect.x + foldoutIndent, rowRect.y, rowRect.width - foldoutIndent, rowRect.height); } } if (flag2) { position.x = foldoutIndent; position.width = this.m_FoldoutWidth; EditorGUI.BeginChangeCheck(); bool expand = GUI.Toggle(position, this.m_TreeView.data.IsExpanded(item), GUIContent.none, TestGUICustomItemHeights.Styles.foldout); if (EditorGUI.EndChangeCheck()) { this.m_TreeView.UserInputChangedExpandedState(item, row, expand); } } }
public virtual void OnRowGUI(Rect rowRect, TreeViewItem item, int row, bool selected, bool focused) { using (new EditorGUI.DisabledScope(TimelineWindow.instance.currentMode.TrackState(TimelineWindow.instance.state) == TimelineModeGUIState.Disabled)) { var sqvi = (TimelineTrackBaseGUI)item; sqvi.treeViewToWindowTransformation = m_TreeView.GetTotalRect().position - m_TreeView.state.scrollPos; // this may be called because an encompassing parent is visible if (!sqvi.visibleExpanded) { return; } Rect headerRect = rowRect; Rect contentRect = rowRect; headerRect.width = m_State.sequencerHeaderWidth - 2.0f; contentRect.xMin += m_State.sequencerHeaderWidth; contentRect.width = rowRect.width - m_State.sequencerHeaderWidth - 1.0f; Rect foldoutRect = rowRect; var indent = GetFoldoutIndent(item); var headerRectWithIndent = headerRect; headerRectWithIndent.xMin = indent; var rowRectWithIndent = new Rect(rowRect.x + indent, rowRect.y, rowRect.width - indent, rowRect.height); sqvi.Draw(headerRectWithIndent, contentRect, m_State); sqvi.DrawInsertionMarkers(rowRectWithIndent); if (Event.current.type == EventType.Repaint) { m_State.spacePartitioner.AddBounds(sqvi); // Show marker below this Item if (showInsertionMarker) { if (m_TreeView.dragging != null && m_TreeView.dragging.GetRowMarkerControlID() == TreeViewController.GetItemControlID(item)) { m_DraggingInsertionMarkerRect = rowRectWithIndent; } } } // Draw foldout (after text content above to ensure drop down icon is rendered above selection highlight) DrawFoldout(item, foldoutRect, indent); sqvi.ClearDrawFlags(); } }
public override void OnRowGUI(Rect rowRect, TreeViewItem item, int row, bool selected, bool focused) { rowRect.height -= 1f; Rect column1Rect = rowRect; Rect column2Rect = rowRect; column1Rect.width = m_Column1Width; column1Rect.xMin += GetFoldoutIndent(item); column2Rect.xMin += m_Column1Width + 1; float indent = GetFoldoutIndent(item); Rect tmpRect = rowRect; int itemControlID = TreeViewController.GetItemControlID(item); bool isDropTarget = false; if (m_TreeView.dragging != null) { isDropTarget = m_TreeView.dragging.GetDropTargetControlID() == itemControlID && m_TreeView.data.CanBeParent(item); } bool showFoldout = m_TreeView.data.IsExpandable(item); Color selectedColor = new Color(0.0f, 0.22f, 0.44f); Color normalColor = new Color(0.1f, 0.1f, 0.1f); EditorGUI.DrawRect(column1Rect, selected ? selectedColor : normalColor); EditorGUI.DrawRect(column2Rect, selected ? selectedColor : normalColor); if (isDropTarget) { EditorGUI.DrawRect(new Rect(rowRect.x, rowRect.y, 3, rowRect.height), Color.yellow); } if (Event.current.type == EventType.Repaint) { Rect labelRect = column1Rect; labelRect.xMin += m_FoldoutWidth; GUI.Label(labelRect, item.displayName, EditorStyles.largeLabel); if (rowRect.height > 20f) { labelRect.y += 16f; GUI.Label(labelRect, "Ut tincidunt tortor. Donec nonummy, enim in lacinia pulvinar", EditorStyles.miniLabel); } // Show marker below this Item if (m_TreeView.dragging != null && m_TreeView.dragging.GetRowMarkerControlID() == itemControlID) { m_DraggingInsertionMarkerRect = new Rect(rowRect.x + indent, rowRect.y, rowRect.width - indent, rowRect.height); } } // Draw foldout (after text content above to ensure drop down icon is rendered above selection highlight) if (showFoldout) { tmpRect.x = indent; tmpRect.width = m_FoldoutWidth; EditorGUI.BeginChangeCheck(); bool newExpandedValue = GUI.Toggle(tmpRect, m_TreeView.data.IsExpanded(item), GUIContent.none, Styles.foldout); if (EditorGUI.EndChangeCheck()) { m_TreeView.UserInputChangedExpandedState(item, row, newExpandedValue); } } }
public virtual void OnRowGUI(Rect rowRect, TreeViewItem item, int row, bool selected, bool focused) { Rect headerRect = rowRect; Rect trackRect = rowRect; headerRect.set_width(this.m_State.sequencerHeaderWidth); trackRect.set_xMin(trackRect.get_xMin() + this.m_State.sequencerHeaderWidth); trackRect.set_width(rowRect.get_width() - this.m_State.sequencerHeaderWidth - 1f); float foldoutIndent = this.GetFoldoutIndent(item); Rect rect = rowRect; TimelineTrackBaseGUI timelineTrackBaseGUI = (TimelineTrackBaseGUI)item; timelineTrackBaseGUI.isExpanded = this.m_TreeView.get_data().IsExpanded(item); timelineTrackBaseGUI.Draw(headerRect, trackRect, this.m_State, foldoutIndent); if (trackRect.Contains(Event.get_current().get_mousePosition()) || Event.get_current().get_isKey()) { timelineTrackBaseGUI.OnEvent(Event.get_current(), this.m_State, false); } if (Event.get_current().get_type() == 7) { if (this.showInsertionMarker) { if (this.m_TreeView.get_dragging() != null && this.m_TreeView.get_dragging().GetRowMarkerControlID() == TreeViewController.GetItemControlID(item)) { this.m_DraggingInsertionMarkerRect = new Rect(rowRect.get_x() + foldoutIndent, rowRect.get_y(), rowRect.get_width() - foldoutIndent, rowRect.get_height()); } } } bool flag = this.m_TreeView.get_data().IsExpandable(item); if (flag) { rect.set_x(foldoutIndent - TimelineTreeView.kFoldOutOffset); rect.set_width(this.m_FoldoutWidth); EditorGUI.BeginChangeCheck(); float num = (float)DirectorStyles.Instance.foldout.get_normal().get_background().get_height(); rect.set_y(rect.get_y() + num / 2f); rect.set_height(num); bool flag2 = GUI.Toggle(rect, this.m_TreeView.get_data().IsExpanded(item), GUIContent.none, TimelineTreeView.m_Styles.foldout); if (EditorGUI.EndChangeCheck()) { if (Event.get_current().get_alt()) { this.m_TreeView.get_data().SetExpandedWithChildren(item, flag2); } else { this.m_TreeView.get_data().SetExpanded(item, flag2); } } } if (headerRect.Contains(Event.get_current().get_mousePosition()) || Event.get_current().get_isKey()) { timelineTrackBaseGUI.OnEvent(Event.get_current(), this.m_State, false); } }