public MyGuiControlSlider(
            Vector2?position       = null,
            float minValue         = 0f,
            float maxValue         = 1f,
            float width            = 464f / 1600f,
            float?defaultValue     = null,
            Vector4?color          = null,
            String labelText       = null,
            int labelDecimalPlaces = 1,
            float labelScale       = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth  = 0f,
            string labelFont       = MyFontEnum.White,
            String toolTip         = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign          = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER,
            bool intValue = false)
            : base(
                position: position,
                width: width,
                color: color,
                labelScale: labelScale,
                labelSpaceWidth: labelSpaceWidth,
                labelFont: labelFont,
                toolTip: toolTip,
                visualStyle: visualStyle,
                originAlign: originAlign
                )
        {
            m_minValue = minValue;
            m_maxValue = maxValue;
            m_range    = m_maxValue - m_minValue;

            MyDebug.AssertDebug(m_maxValue > m_minValue && m_maxValue != m_minValue);

            Propeties = new MyGuiSliderProperties()
            {
                FormatLabel  = FormatValue,
                RatioFilter  = FilterRatio,
                RatioToValue = RatioToValue,
                ValueToRatio = ValueToRatio
            };

            DefaultRatio = defaultValue.HasValue ? ValueToRatio(defaultValue.Value) : default(float?);
            Ratio        = DefaultRatio ?? minValue;
            m_intValue   = intValue;

            LabelDecimalPlaces = labelDecimalPlaces;

            m_labelFormat = labelText;
        }
        public MyGuiControlSlider(
            Vector2? position = null,
            float minValue = 0f,
            float maxValue = 1f,
            float width = 464f/1600f,
            float? defaultValue = null,
            Vector4? color = null,
            String labelText = null,
            int labelDecimalPlaces = 1,
            float labelScale = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth = 0f,
            string labelFont = MyFontEnum.White,
            String toolTip = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER,
            bool intValue = false)
            : base(
                position: position,
                width: width,
                color: color,
                labelScale: labelScale,
                labelSpaceWidth: labelSpaceWidth,
                labelFont: labelFont,
                toolTip: toolTip,
                visualStyle: visualStyle,
                originAlign: originAlign
            )
        {
            m_minValue = minValue;
            m_maxValue = maxValue;
            m_range = m_maxValue - m_minValue;

            MyDebug.AssertDebug(m_maxValue > m_minValue && m_maxValue != m_minValue);

            Propeties = new MyGuiSliderProperties()
            {
                FormatLabel = FormatValue,
                RatioFilter = FilterRatio,
                RatioToValue = RatioToValue,
                ValueToRatio = ValueToRatio
            };

            DefaultRatio = defaultValue.HasValue ? ValueToRatio(defaultValue.Value) : default(float?);
            Ratio = DefaultRatio ?? minValue;
            m_intValue = intValue;

            LabelDecimalPlaces = labelDecimalPlaces;
            
            m_labelFormat = labelText;
        }
        public MyGuiControlSliderBase(
            Vector2?position                        = null,
            float width                             = 464f / 1600f,
            MyGuiSliderProperties props             = null,
            float?defaultRatio                      = null,
            Vector4?color                           = null,
            float labelScale                        = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth                   = 0f,
            MyFontEnum labelFont                    = MyFontEnum.White,
            String toolTip                          = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign          = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER)
            : base(
                position: position,
                toolTip: toolTip,
                isActiveControl: true,
                originAlign: originAlign,
                canHaveFocus: true)
        {
            // Make sure the default value makes sense
            if (defaultRatio.HasValue)
            {
                Debug.Assert(defaultRatio.Value >= 0 && defaultRatio.Value <= 1);
                defaultRatio = MathHelper.Clamp(defaultRatio.Value, 0, 1);
            }

            if (props == null)
            {
                props = MyGuiSliderProperties.Default;
            }
            m_props = props;

            DefaultRatio      = defaultRatio;
            m_ratio           = defaultRatio.HasValue ? defaultRatio.Value : 0;
            m_labelSpaceWidth = labelSpaceWidth;

            m_label = new MyGuiControlLabel(
                text: String.Empty,
                originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
                textScale: labelScale,
                font: labelFont);
            Elements.Add(m_label);

            VisualStyle = visualStyle;
            Size        = new Vector2(width, Size.Y);

            UpdateLabel();
        }
        public MyGuiControlSlider(
            Vector2?position       = null,
            float minValue         = 0f,
            float maxValue         = 1f,
            float width            = 464f / 1600f,
            float?defaultValue     = null,
            Vector4?color          = null,
            String labelText       = null,
            int labelDecimalPlaces = 1,
            float labelScale       = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth  = 0f,
            MyFontEnum labelFont   = MyFontEnum.White,
            String toolTip         = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign          = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER,
            bool intValue = false)
            : base(
                position: position,
                toolTip: toolTip,
                isActiveControl: true,
                originAlign: originAlign,
                canHaveFocus: true)
        {
            m_minValue        = minValue;
            m_maxValue        = maxValue;
            DefaultValue      = defaultValue;
            m_value           = defaultValue.HasValue ? defaultValue.Value : minValue;
            m_labelSpaceWidth = labelSpaceWidth;
            m_intValue        = intValue;

            MyDebug.AssertDebug(m_maxValue > m_minValue && m_maxValue != m_minValue);
            m_label = new MyGuiControlLabel(
                text: labelText ?? String.Empty,
                originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
                textScale: labelScale,
                font: labelFont);
            Elements.Add(m_label);

            LabelDecimalPlaces = labelDecimalPlaces;
            VisualStyle        = visualStyle;
            Size = new Vector2(width, Size.Y);
            UpdateNormalizedValue();
            UpdateLabel();
        }
 public MyGuiControlClickableSlider(Vector2?position = null, float minValue = 0f, float maxValue = 1f, float width = 0.29f, float?defaultValue = null, Vector4?color = null, string labelText = null, int labelDecimalPlaces = 1, float labelScale = 0.8f, float labelSpaceWidth = 0f, string labelFont = "White", string toolTip = null, MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default, MyGuiDrawAlignEnum originAlign = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, bool intValue = false, bool showLabel = false)
     : base(position, minValue, maxValue, width, defaultValue, color, labelText, labelDecimalPlaces, labelScale, labelSpaceWidth, labelFont, toolTip, visualStyle, originAlign, intValue, showLabel)
 {
 }
 public static StyleDefinition GetVisualStyle(MyGuiControlSliderStyleEnum style)
 {
     return m_styles[(int)style];
 }
        public MyGuiControlSliderBase(
            Vector2? position                       = null,
            float width                             = 464f/1600f,
            MyGuiSliderProperties props                  = null,
            float? defaultRatio                     = null,
            Vector4? color                          = null,
            float labelScale                        = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth                   = 0f,
            MyFontEnum labelFont                    = MyFontEnum.White,
            String toolTip                   = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign          = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER)
            : base(
                 position: position,
                 toolTip: toolTip,
                 isActiveControl: true,
                 originAlign: originAlign,
                 canHaveFocus: true)
        {
            // Make sure the default value makes sense
            if (defaultRatio.HasValue)
            {
                Debug.Assert(defaultRatio.Value >= 0 && defaultRatio.Value <= 1);
                defaultRatio = MathHelper.Clamp(defaultRatio.Value, 0, 1);
            }

            if (props == null)
                props = MyGuiSliderProperties.Default;
            m_props = props;

            DefaultRatio = defaultRatio;
            m_ratio = defaultRatio.HasValue ? defaultRatio.Value : 0;
            m_labelSpaceWidth = labelSpaceWidth;

            m_label = new MyGuiControlLabel(
                text: String.Empty,
                originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
                textScale: labelScale,
                font: labelFont);
            Elements.Add(m_label);

            VisualStyle = visualStyle;
            Size = new Vector2(width, Size.Y);
            
            UpdateLabel();
        }
 public static StyleDefinition GetVisualStyle(MyGuiControlSliderStyleEnum style)
 {
     return(m_styles[(int)style]);
 }
Exemple #9
0
        /// <summary>
        /// Creates a new clickable slider
        /// </summary>
        /// <param name="position">Position of slider</param>
        /// <param name="minValue">Minimum value of slider</param>
        /// <param name="maxValue">Maximum value of slider</param>
        /// <param name="width">Width of slider in screen space</param>
        /// <param name="defaultValue">Default value of slider</param>
        /// <param name="color">Color of slider</param>
        /// <param name="labelPrefix">Prefix for the value label</param>
        /// <param name="labelSuffix">Suffix for the value label</param>
        /// <param name="labelScale">Scale of the value label</param>
        /// <param name="labelSpaceWidth">Width of the value label</param>
        /// <param name="labelFont">Font of the value label</param>
        /// <param name="toolTip">Tooltip of this slider</param>
        /// <param name="visualStyle">VisualStyle</param>
        /// <param name="originAlign">Alignment of origin</param>
        /// <param name="intValue">Is int value</param>
        /// <param name="showLabel">Show the value label</param>
        public MyGuiControlClickableSlider(Vector2?position = null, float minValue = 0f, float maxValue = 1f, float width = 0.29f, float?defaultValue = null, Vector4?color = null, string labelPrefix = "", string labelSuffix = "", float labelScale = 0.8f, float labelSpaceWidth = 0f, string labelFont = "White", string toolTip = null, MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default, MyGuiDrawAlignEnum originAlign = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, bool intValue = false, bool showLabel = false)
            : base(position, minValue, maxValue, width, defaultValue, color, null, 1, labelScale, labelSpaceWidth, labelFont, toolTip, visualStyle, originAlign, intValue, false)
        {
            m_labelSpaceWidth = labelSpaceWidth;
            m_labelPrefix     = labelPrefix;
            m_labelSuffix     = labelSuffix;
            m_label           = new MyGuiControlLabel(null, null, "", null, labelScale, labelFont, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER);
            if (showLabel)
            {
                Elements.Add(m_label);
            }
            m_label.Position = new Vector2(GetPositionAbsoluteCenterLeft().X + Size.X + m_labelSpaceWidth, GetPositionAbsoluteCenterLeft().Y);

            ValueChanged += delegate(MyGuiControlSlider slider)
            {
                UpdateValueLabel();
            };

            UpdateValueLabel();
        }
        public MyGuiControlSlider(
            Vector2? position                       = null,
            float minValue                          = 0f,
            float maxValue                          = 1f,
            float width                             = 464f/1600f,
            float? defaultValue                     = null,
            Vector4? color                          = null,
            String labelText                 = null,
            int labelDecimalPlaces                  = 1,
            float labelScale                        = MyGuiConstants.DEFAULT_TEXT_SCALE,
            float labelSpaceWidth                   = 0f,
            MyFontEnum labelFont                    = MyFontEnum.White,
            String toolTip                   = null,
            MyGuiControlSliderStyleEnum visualStyle = MyGuiControlSliderStyleEnum.Default,
            MyGuiDrawAlignEnum originAlign          = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER,
            bool intValue                           = false)
            : base(
                 position: position,
                 toolTip: toolTip,
                 isActiveControl: true,
                 originAlign: originAlign,
                 canHaveFocus: true)
        {
            m_minValue = minValue;
            m_maxValue = maxValue;
            DefaultValue = defaultValue;
            m_value = defaultValue.HasValue ? defaultValue.Value : minValue;
            m_labelSpaceWidth = labelSpaceWidth;
            m_intValue = intValue;

            MyDebug.AssertDebug(m_maxValue > m_minValue && m_maxValue != m_minValue);
            m_label = new MyGuiControlLabel(
                text: labelText ?? String.Empty,
                originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
                textScale: labelScale,
                font: labelFont);
            Elements.Add(m_label);

            LabelDecimalPlaces = labelDecimalPlaces;
            VisualStyle = visualStyle;
            Size = new Vector2(width, Size.Y);
            UpdateNormalizedValue();
            UpdateLabel();
        }