Esempio n. 1
0
        public static ISelectable HandleSingleSelection(Event evt)
        {
            var item = PickerUtils.TopmostPickedItemOfType <ISelectable>(i => i.CanSelect(evt));

            if (item != null)
            {
                var selected = item.IsSelected();
                if (!selected && CanClearSelection(evt))
                {
                    SelectionManager.Clear();
                }

                if (evt.modifiers == EventModifiers.Shift)
                {
                    if (!selected)
                    {
                        RangeSelectItems((item as TimelineItemGUI)?.item);
                    }
                }
                else
                {
                    HandleItemSelection(evt, item);
                }
            }

            return(item);
        }
        public static void CycleMarkers()
        {
            var cluster = PickerUtils.TopmostPickedItemOfType <TimelineMarkerClusterGUI>();

            if (cluster == null)
            {
                return;
            }

            cluster.topMarker.Deselect();
            cluster.CycleTop();
            cluster.topMarker.Select();
        }
        public static bool CanCycleMarkers()
        {
            if (!SelectionManager.SelectedMarkers().Any())
            {
                return(false);
            }

            var cluster = PickerUtils.TopmostPickedItemOfType <TimelineMarkerClusterGUI>();

            if (cluster == null)
            {
                return(false);
            }

            // Only cycle if the marker is selected and nothing else is selected
            return(cluster.topMarker.IsSelected() && SelectionManager.Count() == 1);
        }