Esempio n. 1
0
        /// <summary>
        /// Converts <see cref="AnalogChannel"/> to its string format.
        /// </summary>
        public override string ToString()
        {
            // An,ch_id,ph,ccbm,uu,a,b,skew,min,max
            List <string> values = new List <string>
            {
                Index.ToString(),
                          Name,
                          PhaseID,
                          CircuitComponent,
                          Units,
                          Multiplier.ToString(CultureInfo.InvariantCulture),
                Adder.ToString(CultureInfo.InvariantCulture),
                Skew.ToString(CultureInfo.InvariantCulture),
                MinValue.ToString(CultureInfo.InvariantCulture),
                MaxValue.ToString(CultureInfo.InvariantCulture)
            };

            // ...,primary,secondary,PS
            if (m_version >= 1999)
            {
                values.Add(PrimaryRatio.ToString(CultureInfo.InvariantCulture));
                values.Add(SecondaryRatio.ToString(CultureInfo.InvariantCulture));
                values.Add(ScalingIdentifier.ToString());
            }

            return(string.Join(",", values));
        }
Esempio n. 2
0
        public QueryContainer ToFilter(QueryContainerDescriptor <T> queryContainerDescriptor)
        {
            int.TryParse(MinValue?.ToString(), out var minValue);
            int.TryParse(MaxValue?.ToString(), out var maxValue);

            QueryContainer query = null;

            if (minValue > 0 && maxValue > 0)
            {
                var values = new List <int>();
                for (var i = minValue; i <= maxValue; i++)
                {
                    values.Add(i);
                }
                return(queryContainerDescriptor.Terms(t => t.Field(Field).Terms(values)));
            }
            else
            {
                if (minValue > 0)
                {
                    return(queryContainerDescriptor.Term(Field, minValue));
                }
                else if (maxValue > 0)
                {
                    return(queryContainerDescriptor.Term(Field, maxValue));
                }
            }

            return(query);
        }
Esempio n. 3
0
        protected override void Render(HtmlTextWriter writer)
        {
            CssClass = "form-control " + CssClass;
            Attributes.Add("data-control", "Spinner");
            Attributes.Add("data-control-required", campoobrigatorio.ToString());

            if (MaxValue > int.MinValue)
            {
                Attributes.Add("data-control-maxvalue", MaxValue.ToString());
            }
            if (MinValue > int.MinValue)
            {
                Attributes.Add("data-control-minvalue", MinValue.ToString());
            }

            if (montagroup)
            {
                writer.Write(ComponentUtils.RenderControlOpen(campoobrigatorio ? "*" + Label : Label, ID, TypeControl, true, false, ToolTip));
            }

            base.Render(writer);

            writer.Write("<div class='input-group-addon input-group-btn-vertical'><a href='javascript:void(0)' class='btn btn-default'><i class='fa fa-caret-up'></i></a><a  href='javascript:void(0)' class='btn btn-default'><i class='fa fa-caret-down'></i></a></div>");

            if (montagroup)
            {
                writer.Write(ComponentUtils.RenderControlClose("", TypeControl, true));
            }
        }
Esempio n. 4
0
        public QueryContainer ToFilter(QueryContainerDescriptor <T> queryContainerDescriptor)
        {
            QueryContainer query = null;

            if ((MinValue != null && !string.IsNullOrEmpty(MinValue?.ToString())) || (MaxValue != null && !string.IsNullOrEmpty(MaxValue.ToString())))
            {
                var hasMin = double.TryParse(MinValue?.ToString(), out var minValue) && minValue > 0;
                var hasMax = double.TryParse(MaxValue?.ToString(), out var maxValue) && maxValue > 0;

                if (hasMin && minValue > 0 && hasMax && maxValue > 0)
                {
                    return(queryContainerDescriptor.Bool(b => b.Must(m => (m.Exists(e => e.Field(MinField)) || m.Exists(e => e.Field(MaxField))) &&
                                                                     (m.Range(r => r.Field(MinField).GreaterThanOrEquals(minValue)) ||
                                                                      (!m.Exists(e => e.Field(MinField)) &&
                                                                       (m.Range(r => r.Field(MaxField).LessThanOrEquals(maxValue)) ||
                                                                        !m.Exists(e => e.Field(MaxField))))))));
                }
                else
                {
                    if (hasMin && minValue > 0)
                    {
                        return(queryContainerDescriptor.Bool(b => b.Must(m => m.Range(r => r.Field(MinField).GreaterThanOrEquals(minValue)))));
                    }
                    else if (hasMax && maxValue > 0)
                    {
                        return(queryContainerDescriptor.Bool(b => b.Must(m => m.Range(r => r.Field(MaxField).LessThanOrEquals(maxValue)))));
                    }
                }
            }

            return(query);
        }
Esempio n. 5
0
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            if (value == null)
            {
                return(new ValidationResult(false, "Value cannot be empty!"));
            }

            var stringValue = value.ToString();

            try
            {
                if ((type == typeof(int) &&
                     ((int)value < (int)MinValue || (int)value > (int)MaxValue))
                    ||
                    (type == typeof(decimal) &&
                     (decimal.Parse(stringValue, cultureInfo) < decimal.Parse(MinValue.ToString(), cultureInfo) || decimal.Parse(stringValue, cultureInfo) > decimal.Parse(MaxValue.ToString(), cultureInfo)))
                    ||
                    (type == typeof(double) &&
                     ((double)value < (double)MinValue || (double)value > (double)MaxValue)))
                {
                    return(new ValidationResult(false, "Acceptable value range: [" + MinValue + ";" + MaxValue + "]"));
                }
            }
            catch (Exception)
            {
                return(new ValidationResult(false, "Value is not correct! Should be numeric value!"));
            }

            return(ValidationResult.ValidResult);
        }
Esempio n. 6
0
        protected override void Render(HtmlTextWriter oWriter)
        {
            string cssClass = " mask-" + this.NumberType.ToString().ToLowerInvariant();

            this.CssClass = this.CssClass.Replace(cssClass, "") + cssClass;

            this.Attributes["data-v-min"] = MinValue.ToString().Replace(".", "").Replace(",", ".");
            this.Attributes["data-v-max"] = MaxValue.ToString().Replace(".", "").Replace(",", ".");
            this.Attributes["data-m-dec"] = this.NumberType == numberType.Int ? "0" : "2";
            this.AddTooltip(string.Concat(SetText(MinValue), " - ", SetText(MaxValue)), false);

            if (ShowSlider)
            {
                try
                {
                    base.Render(oWriter);

                    oWriter.Write(string.Format(@" <span class='sliderleft'>{4}</span> <div class='slider slider-basic' data-xmin='{0}' data-xmax='{1}' data-xstep='{2}' data-xitem='{3}'></div> <span class='sliderright'>{5}</span>",
                                                this.MinValue.ToString().Replace(".", "").Replace(",", "."),
                                                this.MaxValue.ToString().Replace(".", "").Replace(",", "."),
                                                this.NumberType == numberType.Int ? SliderStep.ToString() : SliderStep.ToString().Replace(",", "."),
                                                this.ClientID,
                                                this.NumberType == numberType.Int ? MinValue.ToString() : MinValue.ToString("N2"),
                                                this.NumberType == numberType.Int ? MaxValue.ToString() : MaxValue.ToString("N2")));
                }
                catch (Exception ex)
                {
                    ExceptionManager.Publish(ex);
                }
            }
            else
            {
                base.Render(oWriter);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 속성들을 Xml Attribute로 생성합니다.
        /// </summary>
        /// <param name="writer">Attribute를 쓸 Writer</param>
        public override void GenerateXmlAttributes(XmlWriter writer)
        {
            base.GenerateXmlAttributes(writer);

            if (MinValue.HasValue)
            {
                writer.WriteAttributeString("minValue", MinValue.ToString());
            }
            if (MaxValue.HasValue)
            {
                writer.WriteAttributeString("maxValue", MaxValue.ToString());
            }

            if (Label.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("label", Label);
            }

            if (Code.HasValue)
            {
                writer.WriteAttributeString("Code", Code.Value.ToHexString());
            }
            if (Alpha.HasValue)
            {
                writer.WriteAttributeString("Alpha", Alpha.ToString());
            }
            if (BorderColor.HasValue)
            {
                writer.WriteAttributeString("BorderColor", BorderColor.Value.ToHexString());
            }
            if (BorderAlpha.HasValue)
            {
                writer.WriteAttributeString("BorderAlpha", BorderAlpha.ToString());
            }
        }
Esempio n. 8
0
 public DateTimeInput()
 {
     Title = "日期时间域";
     //禁用输入法
     InputMethod.SetIsInputMethodEnabled(tb_Host, false);
     DateTimeFormatString = "yyyy年MM月dd日";
     MinValue             = DateTime.MinValue;
     MaxValue             = DateTime.MaxValue;
     //获得焦点时,全选
     GotFocus              += (sender, e) => { tb_Host.SelectAll(); };
     PreviewKeyDown        += DateTimeInput_PreviewKeyDown;
     this.PreviewFlowLeave += (sender, e) =>
     {
         var text = tb_Host.Text;
         if (string.IsNullOrEmpty(text))
         {
             return;
         }
         var dt = GetDateTimeByString(tb_Host.Text, DateTimeFormatString);
         if (dt == null)
         {
             this.ToastMessage("该输入项不是有效的日期时间!");
             e.Handled = true;
         }
         else if (dt.Value.CompareTo(MinValue) < 0 || dt.Value.CompareTo(MaxValue) > 0)
         {
             this.ToastMessage(string.Format("该输入项不在有效的范围内!要求的范围是[{0}]-[{1}]",
                                             MinValue.ToString(DateTimeFormatString), MaxValue.ToString(DateTimeFormatString)));
             e.Handled = true;
         }
     };
 }
Esempio n. 9
0
        /// <summary>
        /// OnPreRender
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPreRender(EventArgs e)
        {
            if (this.Attributes["MaxValue"] == null)
            {
                this.Attributes.Add("MaxValue", MaxValue.ToString());
            }
            else
            {
                this.Attributes["MaxValue"] = MaxValue.ToString();
            }

            if (this.Attributes["MinValue"] == null)
            {
                this.Attributes.Add("MinValue", MinValue.ToString());
            }
            else
            {
                this.Attributes["MinValue"] = MinValue.ToString();
            }

            if (MaxValue < MinValue)
            {
                throw new ArgumentOutOfRangeException(string.Format("控件的最大值不能小于最小值,当前为:{0} - {1}", MinValue, MaxValue));
            }

            base.OnPreRender(e);
        }
Esempio n. 10
0
        int ParseValue(string str)
        {
            Debug.Assert(str != null);

            if (str.Length == 0)
            {
                throw new CrontabException("A crontab field value cannot be empty.");
            }

            var firstChar = str[0];

            if (firstChar >= '0' && firstChar <= '9')
            {
                return(int.Parse(str, CultureInfo.InvariantCulture));
            }

            if (_names == null)
            {
                throw new CrontabException(string.Format(
                                               "'{0}' is not a valid [{3}] crontab field value. It must be a numeric value between {1} and {2} (all inclusive).",
                                               str, MinValue.ToString(), MaxValue.ToString(), Kind.ToString()));
            }

            for (var i = 0; i < _names.Length; i++)
            {
                if (Comparer.IsPrefix(_names[i], str, CompareOptions.IgnoreCase))
                {
                    return(i + MinValue);
                }
            }

            var names = string.Join(", ", _names);

            throw new CrontabException($"'{str}' is not a known value name. Use one of the following: {names}.");
        }
Esempio n. 11
0
        /// <summary>
        /// 속성 중 Attribute Node로 표현해야 한다.
        /// </summary>
        /// <param name="writer"></param>
        public override void GenerateXmlAttributes(System.Xml.XmlWriter writer)
        {
            base.GenerateXmlAttributes(writer);

            if (MinValue.HasValue)
            {
                writer.WriteAttributeString("MinValue", MinValue.ToString());
            }
            if (MaxValue.HasValue)
            {
                writer.WriteAttributeString("MaxValue", MaxValue.ToString());
            }
            if (Action.HasValue)
            {
                writer.WriteAttributeString("Action", Action.ToString());
            }
            if (Param.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("Param", Param);
            }
            if (OccurOnce.HasValue)
            {
                writer.WriteAttributeString("OccurOnce", OccurOnce.ToString());
            }
        }
Esempio n. 12
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool           res  = false;
            KeyboardDialog kdlg = new KeyboardDialog();

            kdlg.ValLower = MinValue;
            kdlg.ValUpper = MaxValue;
            kdlg.DispMode = KeyboardDialog.KB_MODE.NUMBER;
            string strrange = MaxValue.ToString(strForm);
            int    digits   = strrange.IndexOf('.');

            kdlg.LengthInt = (digits < 0) ? strrange.Length : digits;
            kdlg.LengthDec = (digits < 0) ? 0 : (strrange.Length - digits - 1);
            kdlg.AllLength = strrange.Length;
            string msgfmt = CommonProc.MessageText("G001");

            msgfmt            = msgfmt.Replace("%param", paramName);
            msgfmt            = msgfmt.Replace("%min", MinValue.ToString(strForm));
            msgfmt            = msgfmt.Replace("%max", MaxValue.ToString(strForm));
            kdlg.Message_Text = msgfmt;
            kdlg.InputArea    = Text;
            if (kdlg.ShowDialog() == DialogResult.OK)
            {
                Value = double.Parse(kdlg.InputArea);
                res   = true;
            }
            kdlg.Dispose();
            Invalidate();
            return(res);
        }
Esempio n. 13
0
        protected override int?GetNumericPrecision()
        {
            switch (PrecisionSource.GetValueOrDefault())
            {
            // When the precision is set to zero (0), the MoneyAttributeMetadata.Precision value is used.
            case 0:
                var numericPrecision = Math.Max(MinValue.ToString().Length, MaxValue.ToString().Length) + Precision.GetValueOrDefault();
                return(numericPrecision);

            // When the precision is set to one (1), the Organization.PricingDecimalPrecision value is used.
            case 1:
                // todo need to support grabbing this info from the organization. For now just always using metadata.
                var orgPrecision = Math.Max(MinValue.ToString().Length, MaxValue.ToString().Length) + Precision.GetValueOrDefault();
                return(orgPrecision);

            // When the precision is set to two (2), the TransactionCurrency.CurrencyPrecision value is used.
            case 2:
                // todo: need to grab this information from the transaction currency itself..!
                var currencyPrecision = Math.Max(MinValue.ToString().Length, MaxValue.ToString().Length) + Precision.GetValueOrDefault();
                return(currencyPrecision);

            default:
                var defaultPrecision = Math.Max(MinValue.ToString().Length, MaxValue.ToString().Length) + Precision.GetValueOrDefault();
                return(defaultPrecision);
            }
        }
Esempio n. 14
0
        public string ToRecoverable()
        {
            Dictionary <string, string> rec = new Dictionary <string, string>();

            rec.Add(nameof(MinValue), MinValue.ToString());
            rec.Add(nameof(MaxValue), MaxValue.ToString());
            return(Utils.EncodeMultiple(rec));
        }
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Переустановка текста
            /// </summary>
            //---------------------------------------------------------------------------------------------------------
            private void ResetText()
            {
                mIsDirectText  = true;
                TextField.Text = 0 < MinValue?MinValue.ToString() : "0";

                mIsDirectText = false;
                TextField.SelectAll();
            }
Esempio n. 16
0
 public override void ToJSON(JObject ParentObject)
 {
     ParentObject[_ValueSubField.ToXmlNodeName(true)] = (!Double.IsNaN(Value)) ? Value.ToString() : string.Empty;
     ParentObject["minvalue"]           = MinValue.ToString();
     ParentObject["maxvalue"]           = MaxValue.ToString();
     ParentObject["precision"]          = Precision;
     ParentObject["excludeRangeLimits"] = ExcludeRangeLimits;
 }
 public override void AddValidation(ClientModelValidationContext context)
 {
     if (MinValue != null)
     {
         MergeAttribute(context.Attributes, "data-val", "true");
         MergeAttribute(context.Attributes, "data-val-minlength", GetErrorMessage(context));
         MergeAttribute(context.Attributes, "data-val-minlength-min", MinValue.ToString());
     }
 }
Esempio n. 18
0
        private void DrawMarkers(Graphics g)
        {
            int histoWidth   = Width - LeftMargin - RightMargin;
            int valuesHeight = Height - BottomMargin;

            AdjustableArrowCap bigArrow = new AdjustableArrowCap(3, 5);
            Pen arrowPen = new Pen(penColor);

            arrowPen.CustomStartCap = bigArrow;
            arrowPen.CustomEndCap   = bigArrow;

            Font       myFont    = new Font("Segoe UI", 9);
            SolidBrush textBrush = new SolidBrush(Color.FromArgb(50, 50, 50));

            SizeF shadowsSize    = g.MeasureString("Shadows", myFont);
            SizeF midtonesSize   = g.MeasureString("Midtones", myFont);
            SizeF highlightsSize = g.MeasureString("Highlights", myFont);

            int y = TopMargin + MarkerYOffset;

            g.DrawString("Shadows", myFont, textBrush, new PointF(LeftMargin + histoWidth / 6 - shadowsSize.Width / 2, 0));
            g.DrawLine(arrowPen, new Point(LeftMargin, y), new Point(LeftMargin + histoWidth / 3, y));

            g.DrawString("Midtones", myFont, textBrush, new PointF(LeftMargin + histoWidth / 2 - midtonesSize.Width / 2, 0));
            g.DrawLine(arrowPen, new Point(LeftMargin + histoWidth / 3, y), new Point(LeftMargin + histoWidth * 2 / 3, y));

            g.DrawString("Highlights", myFont, textBrush, new PointF(LeftMargin + histoWidth * 5 / 6 - highlightsSize.Width / 2, 0));
            g.DrawLine(arrowPen, new Point(LeftMargin + histoWidth * 2 / 3, y), new Point(LeftMargin + histoWidth, y));

            arrowPen.CustomStartCap = new AdjustableArrowCap(0, 0);

            g.DrawString(MinValue.ToString(), myFont, textBrush, new PointF(LeftMargin, valuesHeight));
            SizeF minSize = g.MeasureString(MinValue.ToString(), myFont);
            SizeF maxSize = g.MeasureString(MaxValue.ToString(), myFont);

            g.DrawLine(arrowPen,
                       new Point(LeftMargin + (int)minSize.Width, valuesHeight + (int)minSize.Height / 2),
                       new Point(Width - RightMargin - (int)maxSize.Width, valuesHeight + (int)minSize.Height / 2));
            g.DrawString(MaxValue.ToString(), myFont, textBrush, new PointF(Width - RightMargin - maxSize.Width, valuesHeight));

            StringFormat format = new StringFormat();

            format.FormatFlags = StringFormatFlags.DirectionVertical;

            SizeF vertTextSize = g.MeasureString("Pixel Number", myFont);

            g.DrawString("Pixel Number", myFont, textBrush, 0, Height - BottomMargin - vertTextSize.Width, format);
            g.DrawLine(arrowPen,
                       new PointF(vertTextSize.Height / 2, Height - BottomMargin - vertTextSize.Width),
                       new PointF(vertTextSize.Height / 2, TopMargin));

            textBrush.Dispose();
            arrowPen.Dispose();
        }
Esempio n. 19
0
        /// <summary>
        /// 格式化
        /// </summary>
        /// <param name="format"></param>
        /// <returns></returns>
        public string ToString(string format)
        {
            var value = (MinValue == DateTime.MinValue ? string.Empty : MinValue.ToString(format)) + "-"
                        + (MaxValue == DateTime.MaxValue ? string.Empty : MaxValue.ToString(format));

            if (value == "-")
            {
                return(string.Empty);
            }
            return(value);
        }
Esempio n. 20
0
 private void SettingMinSpeedForRun()
 {
     //Initialize max speed stepper, this is config for setting max speed on run.
     minSpeedStepper.MaximumValue  = 150.0;
     minSpeedStepper.MinimumValue  = 0.0;
     minSpeedStepper.Value         = 3.9 * 10;
     minSpeedStepper.ValueChanged += (sender, args) =>
     {
         MinValue           = minSpeedStepper.Value / 10.0;
         minSpeedLabel.Text = MinValue.ToString();
     };
 }
        /// <summary>
        /// Allows each attribute item to render thier own GUI
        /// </summary>
        /// <param name="rTarget"></param>
        /// <returns></returns>
        public override bool OnInspectorGUI(BasicAttributes rTarget)
        {
            bool lIsDirty = base.OnInspectorGUI(rTarget);

            if (EditorHelper.FloatField("Value", "Value of the Attribute", Value, rTarget))
            {
                lIsDirty = true;
                Value    = EditorHelper.FieldFloatValue;
            }

            // Limits
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField(new GUIContent("Min/Max", "Min and max limits to the float."), GUILayout.Width(EditorGUIUtility.labelWidth - 4.5f));

            string lText = (MinValue == float.MinValue ? "" : MinValue.ToString("f3"));

            if (EditorHelper.TextField("", "", lText, rTarget, 20f))
            {
                float lValue = 0f;
                if (EditorHelper.FieldStringValue.Length == 0)
                {
                    lIsDirty = true;
                    MinValue = float.MinValue;
                }
                if (float.TryParse(EditorHelper.FieldStringValue, out lValue))
                {
                    lIsDirty = true;
                    MinValue = lValue;
                }
            }

            lText = (MaxValue == float.MaxValue ? "" : MaxValue.ToString("f3"));
            if (EditorHelper.TextField("", "", lText, rTarget, 20f))
            {
                float lValue = 0f;
                if (EditorHelper.FieldStringValue.Length == 0)
                {
                    lIsDirty = true;
                    MaxValue = float.MaxValue;
                }
                if (float.TryParse(EditorHelper.FieldStringValue, out lValue))
                {
                    lIsDirty = true;
                    MaxValue = lValue;
                }
            }

            EditorGUILayout.EndHorizontal();

            return(lIsDirty);
        }
Esempio n. 22
0
        protected override void RegisterClientSideValidationExtensionScripts()
        {
            var template =
                new ScriptTemplate(this, "MatrixPACS.ImageServer.Web.Common.WebControls.Validators.RangeValidator.js");

            template.Replace("@@CONDITION_CHECKBOX_CLIENTID@@",
                             ConditionalCheckBox != null ? ConditionalCheckBox.ClientID : "null");
            template.Replace("@@VALIDATE_WHEN_UNCHECKED@@", ValidateWhenUnchecked ? "true" : "false");
            template.Replace("@@MIN_VALUE@@", MinValue.ToString());
            template.Replace("@@MAX_VALUE@@", MaxValue.ToString());

            Page.ClientScript.RegisterClientScriptBlock(GetType(), ClientID + "_ValidatorClass", template.Script, true);
        }
Esempio n. 23
0
        public IEnumerable <ValidationResult> Validate(ValidationContext vc)
        {
            var fields = new[] { "Value" };

            if (Value > MaxValue)
            {
                yield return(new ValidationResult(Name + " debe ser menor que " + MaxValue.ToString(), fields));
            }
            if (Value < MinValue)
            {
                yield return(new ValidationResult(Name + " debe ser mayor que " + MinValue.ToString(), fields));
            }
        }
Esempio n. 24
0
        private void tb_main_LostFocus(object sender, RoutedEventArgs e)
        {
            double test;

            if (double.TryParse(tb_main.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out test))
            {
                validate();
            }
            else
            {
                tb_main.Text = MinValue.ToString();
            }
        }
Esempio n. 25
0
        /// <summary>
        /// Displays the current instance to the Console.
        /// Important: While the <see cref="ProgressBar"/> is displayed, it is important to not write anything else to the Console
        /// until the <see cref="LongRunningControl.Close"/> method is called.
        /// In the meantime, you can update its displayed value by setting the <see cref="Value"/> property. The control will
        /// automatically update itself in the Console.
        /// </summary>
        protected override void DoDisplayContent()
        {
            if (ShowLabel)
            {
                label.Display();
            }

            valueCursorLeft = Console.CursorLeft;
            valueCursonTop  = Console.CursorTop;

            valueMaxLength             = Math.Max(MinValue.ToString().Length, MaxValue.ToString().Length);
            unitOfMeasurementMaxLength = string.IsNullOrEmpty(UnitOfMeasurement) ? 0 : UnitOfMeasurement.Length;
        }
        public override void ToJSON(JObject ParentObject)
        {
            ParentObject[_LowerSubField.ToXmlNodeName(true)]          = (!Double.IsNaN(Lower)) ? Lower.ToString() : string.Empty;
            ParentObject[_TargetSubField.ToXmlNodeName(true)]         = (!Double.IsNaN(Target)) ? Target.ToString() : string.Empty;
            ParentObject[_UpperSubField.ToXmlNodeName(true)]          = (!Double.IsNaN(Upper)) ? Upper.ToString() : string.Empty;
            ParentObject[_LowerInclusiveSubField.ToXmlNodeName(true)] = LowerInclusive;
            ParentObject[_UpperInclusiveSubField.ToXmlNodeName(true)] = UpperInclusive;
            ParentObject[_UnitsSubField.ToXmlNodeName(true)]          = Units;

            ParentObject["minvalue"]           = MinValue.ToString();
            ParentObject["maxvalue"]           = MaxValue.ToString();
            ParentObject["precision"]          = Precision;
            ParentObject["excludeRangeLimits"] = ExcludeRangeLimits;
        }
Esempio n. 27
0
        protected void DrawAxes(SKCanvas canvas, int height, int width, SKPoint[] points, float footerHeight, float headerHeight)
        {
            if (showYAxe && points.Length > 0)
            {
                var firstPointX = points.First().X;
                var lowestY     = points.Min(p => p.Y);
                var highestY    = points.Max(p => p.Y);

                using (var paint = new SKPaint
                {
                    Style = SKPaintStyle.Stroke,
                    Color = SKColors.Gray,
                    StrokeWidth = this.LineSize,
                    IsAntialias = true,
                })
                {
                    var path = new SKPath();
                    var from = new SKPoint(firstPointX, lowestY - MarginY + MarginY / 2);
                    path.MoveTo(from);

                    var toYAxe = new SKPoint(firstPointX, highestY + MarginY);

                    path.LineTo(toYAxe);

                    var toXAxe = new SKPoint(width - MarginX, highestY + MarginY);
                    path.LineTo(toXAxe);

                    canvas.DrawPath(path, paint);
                }

                using (var paint = new SKPaint())
                {
                    paint.TextSize    = this.LabelTextSize;
                    paint.IsAntialias = true;
                    paint.Color       = SKColors.Gray;
                    paint.IsStroke    = false;

                    SKRect boundsLow    = new SKRect();
                    SKRect boundsHigh   = new SKRect();
                    var    HighestValue = MaxValue.ToString();
                    var    LowestValue  = MinValue.ToString();
                    paint.MeasureText(HighestValue, ref boundsHigh);
                    paint.MeasureText(LowestValue, ref boundsLow);

                    canvas.DrawText(HighestValue, firstPointX - MarginX - boundsHigh.Width, lowestY + boundsHigh.Height / 2, paint);
                    canvas.DrawText(LowestValue, firstPointX - MarginX - boundsLow.Width, highestY + boundsLow.Height / 2, paint);
                }
            }
        }
Esempio n. 28
0
 public override string ToString()
 {
     if (TotalSamples > 0)
     {
         return(string.Format("{0} .. {1}, {2} ({3} smps)",
                              MinValue.ToString(FmtString, CultureInfo.InvariantCulture),
                              MaxValue.ToString(FmtString, CultureInfo.InvariantCulture),
                              LastValue.ToString(FmtString, CultureInfo.InvariantCulture),
                              TotalSamples));
     }
     else
     {
         return("- - -");
     }
 }
Esempio n. 29
0
        /// <summary>
        /// 默认校验方法
        /// </summary>
        /// <param name="value">值</param>
        /// <returns></returns>
        private Boolean DefaultValid(Object value)
        {
            Boolean flag = true;

            flag = flag && value != null;
            if (MinValue != null)
            {
                flag = flag && String.Compare(value.ToString(), MinValue.ToString()) >= 0;
            }
            if (MaxValue != null)
            {
                flag = flag && String.Compare(value.ToString(), MaxValue.ToString()) <= 0;
            }
            return(flag);
        }
Esempio n. 30
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            ControlTemplate ct = this.Template;
            //Image lbl = ct.FindName("lblLeftMouseDown", this) as Image;
            //lbl.MouseLeftButtonDown += lbl_MouseLeftButtonDown;
            Button btn_Up   = ct.FindName("btn_Up", this) as Button;
            Button btn_Down = ct.FindName("btn_Down", this) as Button;

            btn_Up.Click   += btnUp_Click;
            btn_Down.Click += btnDown_Click;
            //this.TextChanged += WaterTextBoxSearchControl_TextChanged;
            this.KeyDown += WaterTextBoxSearchControl_KeyDown;
            this.Text     = MinValue.ToString();
        }