internal BaseSlider(string label, TValueType start, TValueType end, SliderDirection direction = SliderDirection.Horizontal, float pageSize = kDefaultPageSize) : base(label, null) { AddToClassList(ussClassName); labelElement.AddToClassList(labelUssClassName); visualInput.AddToClassList(inputUssClassName); this.direction = direction; this.pageSize = pageSize; lowValue = start; highValue = end; pickingMode = PickingMode.Ignore; visualInput.pickingMode = PickingMode.Position; var trackElement = new VisualElement() { name = "unity-tracker" }; trackElement.AddToClassList(trackerUssClassName); visualInput.Add(trackElement); dragElement = new VisualElement() { name = "unity-dragger" }; dragElement.RegisterCallback <GeometryChangedEvent>(UpdateDragElementPosition); dragElement.AddToClassList(draggerUssClassName); visualInput.Add(dragElement); clampedDragger = new ClampedDragger <TValueType>(this, SetSliderValueFromClick, SetSliderValueFromDrag); visualInput.AddManipulator(clampedDragger); }
internal BaseSlider(string label, TValueType start, TValueType end, SliderDirection direction = SliderDirection.Horizontal, float pageSize = kDefaultPageSize) : base(label, null) { AddToClassList(ussClassName); labelElement.AddToClassList(labelUssClassName); visualInput.AddToClassList(inputUssClassName); this.direction = direction; this.pageSize = pageSize; lowValue = start; highValue = end; pickingMode = PickingMode.Ignore; dragContainer = new VisualElement() { name = "unity-drag-container" }; dragContainer.AddToClassList(dragContainerUssClassName); visualInput.Add(dragContainer); trackElement = new VisualElement() { name = "unity-tracker", usageHints = UsageHints.DynamicColor }; trackElement.AddToClassList(trackerUssClassName); dragContainer.Add(trackElement); dragBorderElement = new VisualElement() { name = "unity-dragger-border" }; dragBorderElement.AddToClassList(draggerBorderUssClassName); dragContainer.Add(dragBorderElement); dragElement = new VisualElement() { name = "unity-dragger", usageHints = UsageHints.DynamicTransform }; dragElement.RegisterCallback <GeometryChangedEvent>(UpdateDragElementPosition); dragElement.AddToClassList(draggerUssClassName); dragContainer.Add(dragElement); clampedDragger = new ClampedDragger <TValueType>(this, SetSliderValueFromClick, SetSliderValueFromDrag); dragContainer.pickingMode = PickingMode.Position; dragContainer.AddManipulator(clampedDragger); RegisterCallback <KeyDownEvent>(OnKeyDown); RegisterCallback <NavigationMoveEvent>(OnNavigationMove); UpdateTextFieldVisibility(); var mouseDragger = new FieldMouseDragger <TValueType>(this); mouseDragger.SetDragZone(labelElement); labelElement.AddToClassList(labelDraggerVariantUssClassName); }
public MinMaxSlider(string label, float minValue = 0, float maxValue = kDefaultHighValue, float minLimit = float.MinValue, float maxLimit = float.MaxValue) : base(label, null) { lowLimit = minLimit; highLimit = maxLimit; this.minValue = minValue; this.maxValue = maxValue; AddToClassList(ussClassName); labelElement.AddToClassList(labelUssClassName); visualInput.AddToClassList(inputUssClassName); pickingMode = PickingMode.Ignore; m_DragState = DragState.NoThumb; visualInput.pickingMode = PickingMode.Position; var trackElement = new VisualElement() { name = "unity-tracker" }; trackElement.AddToClassList(trackerUssClassName); visualInput.Add(trackElement); dragElement = new VisualElement() { name = "unity-dragger" }; dragElement.AddToClassList(draggerUssClassName); dragElement.RegisterCallback <GeometryChangedEvent>(UpdateDragElementPosition); visualInput.Add(dragElement); // For a better handling of the cursor style, children elements are created so that the style is automatic with the uss. dragMinThumb = new VisualElement() { name = "unity-thumb-min" }; dragMaxThumb = new VisualElement() { name = "unity-thumb-max" }; dragMinThumb.AddToClassList(minThumbUssClassName); dragMaxThumb.AddToClassList(maxThumbUssClassName); dragElement.Add(dragMinThumb); dragElement.Add(dragMaxThumb); clampedDragger = new ClampedDragger <float>(null, SetSliderValueFromClick, SetSliderValueFromDrag); visualInput.AddManipulator(clampedDragger); m_MinLimit = minLimit; m_MaxLimit = maxLimit; rawValue = ClampValues(new Vector2(minValue, maxValue)); UpdateDragElementPosition(); }