void BottomBar(Rect bottomRect) { int currentID = m_TreeView.GetSelection().FirstOrDefault(); // 0 is none selected // Refresh cached string if (currentID != m_LastSelectedID) { m_LastSelectedID = currentID; m_SelectedPath = ""; var selected = m_TreeView.FindItem(currentID); if (selected != null) { StringBuilder sb = new StringBuilder(); var item = selected; while (item != null && item != m_TreeView.data.root) { if (item != selected) { sb.Insert(0, "/"); } sb.Insert(0, item.displayName); item = item.parent; } m_SelectedPath = sb.ToString(); } } GUI.Label(bottomRect, GUIContent.none, s_Styles.bottomBarBg); if (!string.IsNullOrEmpty(m_SelectedPath)) { GUI.Label(bottomRect, GUIContent.Temp(m_SelectedPath), EditorStyles.miniLabel); } }
void ItemDoubleClickedCallback(int id) { var trackGUI = m_TreeView.FindItem(id) as TimelineTrackGUI; if (trackGUI == null) { return; } if (trackGUI.track == null || trackGUI.track.lockedInHierarchy) { return; } var selection = SelectionManager.SelectedItems().ToList(); var items = ItemsUtils.GetItems(trackGUI.track).ToList(); var addToSelection = !selection.SequenceEqual(items); foreach (var i in items) { if (addToSelection) { SelectionManager.Add(i); } else { SelectionManager.Remove(i); } } }
internal void ItemDoubleClickedCallback(int id) { var gui = m_TreeView.FindItem(id); var trackGUI = gui as TimelineTrackGUI; if (trackGUI != null) { if (trackGUI.track == null || trackGUI.track.lockedInHierarchy) { return; } var selection = SelectionManager.SelectedItems().ToList(); var items = ItemsUtils.GetItems(trackGUI.track).ToList(); var addToSelection = !selection.SequenceEqual(items); foreach (var i in items) { if (addToSelection) { SelectionManager.Add(i); } else { SelectionManager.Remove(i); } } return; } if (gui is TimelineGroupGUI groupGUI) { KeyboardNavigation.ToggleCollapseGroup(new[] { groupGUI.track }); } }
public void AddSiblingGroupPopupCallback(object obj) { AudioMixerGroupPopupContext context = (AudioMixerGroupPopupContext)obj; if (context.groups != null && context.groups.Length > 0) { var item = m_AudioGroupTree.FindItem(context.groups[0].GetInstanceID()) as AudioMixerTreeViewNode; if (item != null) { var parent = item.parent as AudioMixerTreeViewNode; AddAudioMixerGroup(parent.group); } } }
internal void TestSelectionCallback(int[] selected) { if (m_TestListTree != null && selected.Length == 1) { if (m_TestListTree != null) { var node = m_TestListTree.FindItem(selected[0]); if (node is TestTreeViewItem) { var test = node as TestTreeViewItem; m_ResultText = test.GetResultText(); m_ResultStacktrace = test.result.stacktrace; } } } else if (selected.Length == 0) { m_ResultText = ""; } }
public void OnTreeViewContextClick(int index) { AudioMixerItem node = (AudioMixerItem)m_TreeView.FindItem(index); if (node != null) { GenericMenu pm = new GenericMenu(); pm.AddItem(EditorGUIUtility.TrTextContent("Delete AudioMixer"), false, DeleteAudioMixerCallback, node.mixer); pm.ShowAsContext(); } }
public void RefreshCurves() { if (m_ClipDataSource == null || m_Selection == null) { return; } var bindings = new List <EditorCurveBinding>(); foreach (int s in m_Selection) { var item = (CurveTreeViewNode)m_TreeView.FindItem(s); if (item != null && item.bindings != null) { bindings.AddRange(item.bindings); } } AnimationClip clip = m_ClipDataSource.animationClip; var wrappers = new List <CurveWrapper>(); int curveWrapperId = 0; foreach (EditorCurveBinding b in bindings) { var wrapper = new CurveWrapper { id = curveWrapperId++, binding = b, groupId = -1, color = CurveUtility.GetPropertyColor(b.propertyName), hidden = false, readOnly = false, renderer = new NormalCurveRenderer(AnimationUtility.GetEditorCurve(clip, b)), getAxisUiScalarsCallback = GetAxisScalars }; wrapper.renderer.SetCustomRange(0.0f, clip.length); wrappers.Add(wrapper); } m_CurveEditor.animationCurves = wrappers.ToArray(); }
void HandleKeyboardEvents() { Event evt = Event.current; if (evt.type == EventType.KeyDown && (evt.keyCode == KeyCode.Space || evt.keyCode == KeyCode.Return || evt.keyCode == KeyCode.KeypadEnter)) { if (m_Selection != null && m_Selection.Length > 0) { SketchUpNode node = m_TreeView.FindItem(m_Selection[0]) as SketchUpNode; if (node != null && node != m_DataSource.root) { node.Enabled = !node.Enabled; evt.Use(); Repaint(); } } } }
public void RefreshCurves() { if (m_CurveDataSource == null || m_Selection == null) { return; } var bindings = new HashSet <EditorCurveBinding>(AnimationPreviewUtilities.EditorCurveBindingComparer.Instance); foreach (int s in m_Selection) { var item = (CurveTreeViewNode)m_TreeView.FindItem(s); if (item != null && item.bindings != null) { bindings.UnionWith(item.bindings); } } var wrappers = m_CurveDataSource.GenerateWrappers(bindings); m_CurveEditor.animationCurves = wrappers.ToArray(); }
public void RefreshCurves() { if (m_CurveDataSource == null || m_Selection == null) { return; } var bindings = new List <EditorCurveBinding>(); foreach (int s in m_Selection) { var item = (CurveTreeViewNode)m_TreeView.FindItem(s); if (item != null && item.bindings != null) { bindings.AddRange(item.bindings); } } var wrappers = m_CurveDataSource.GenerateWrappers(bindings); m_CurveEditor.animationCurves = wrappers.ToArray(); }