Example #1
0
            internal override void Init(ICollector parent, LabelValues labelValues, bool publish)
            {
                base.Init(parent, labelValues, publish);

                _upperBounds  = ((Histogram)parent)._buckets;
                _bucketCounts = new ThreadSafeLong[_upperBounds.Length];
            }
        private void label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            LabelValues Removeditem = LabelList.FirstOrDefault(r => r.label == sender);

            var p = Business.GetMoeinStructureDefineBusiness().GetByID(Removeditem.ID);

            if (Removeditem.Type == Constants.CodeTitle.Goruh)
            {
                canvas.Children.Clear();
                LabelList.Clear();
                top    = 0;
                left   = 0;
                width  = 100;
                height = 50;
                depth  = 0;
                SetGrid(p);
                return;
            }

            Label RemovedLabel = Removeditem.label;

            Guid?id = Removeditem.ID;

            LabelList.Remove(Removeditem);
            canvas.Children.Remove(RemovedLabel);
            depth--;

            //pass removed id
            SetGridOnRemove(id);
        }
Example #3
0
        public void RemoveLabelled(params string[] labelValues)
        {
            var    key = new LabelValues(LabelNames, labelValues);
            TChild unused;

            _labelledMetrics.TryRemove(key, out unused);
        }
Example #4
0
        private void AddLabel(LabelValues labelValue)
        {
            try
            {
                //var label = new Label();
                //label.Content = labelValue.value;
                //label.Width = width;
                //label.Height = height;
                //label.Margin = new Thickness(left + depth * width, top, left + label.Width + depth * width, top + label.Height);
                //labelValue.label = label;
                depth++;

                var T = new List <string>();
                foreach (var item in this.NavBar.ItemsList)
                {
                    T.Add(item);
                }

                T.Add(labelValue.value);

                this.NavBar.ItemsList = T;

                //this.NavBar.ItemsList.Add(label.Content.ToString());
                //canvas.Children.Add(label);
            }
            catch
            {
                throw;
            }
        }
Example #5
0
            internal void Init(LabelValues labelValues, SummaryConfiguration configuration, DateTime now)
            {
                base.Init(labelValues, configuration);

                _sortedObjectives  = new double[Configuration.Objectives.Count];
                _buffer            = new SampleBuffer(Configuration.BufCap);
                _streamDuration    = new TimeSpan(Configuration.MaxAge.Ticks / Configuration.AgeBuckets);
                _headStreamExpTime = now.Add(_streamDuration);
                _bufferExpTime     = _headStreamExpTime;

                _streams = new QuantileStream[Configuration.AgeBuckets];
                for (int i = 0; i < Configuration.AgeBuckets; i++)
                {
                    _streams[i] = QuantileStream.NewTargeted(Configuration.Objectives);
                }

                _headStream = _streams[0];

                for (int i = 0; i < Configuration.Objectives.Count; i++)
                {
                    _sortedObjectives[i] = Configuration.Objectives[i].Quantile;
                }

                Array.Sort(_sortedObjectives);
            }
Example #6
0
        public void RemoveLabelled(params string[] labelValues)
        {
            var key = new LabelValues(LabelNames, labelValues);

            T temp;

            _labelledMetrics.TryRemove(key, out temp);
        }
 private T GetOrAddLabelled(LabelValues key)
 {
     return(_labelledMetrics.GetOrAdd(key, labels1 =>
     {
         var child = new T();
         child.Init(this, labels1);
         return child;
     }));
 }
Example #8
0
 private TChild GetOrAddLabelled(LabelValues key)
 {
     return(_labelledMetrics.GetOrAdd(key, k =>
     {
         var child = new TChild();
         child.Init(this, k, publish: !_suppressInitialValue);
         return child;
     }));
 }
            public HistogramMetric(LabelValues labels, ImmutableArray <double> buckets)
            {
                _labels           = labels;
                _upperBounds      = buckets;
                _cumulativeCounts = new AtomicLong[buckets.Length];

                for (int i = 0; i < buckets.Length; ++i)
                {
                    _cumulativeCounts[i] = new AtomicLong(0);
                }
            }
        public TMetric WithLabels(params string[] values)
        {
            if (values.Length != LabelNames.Length)
            {
                throw new ArgumentException($"The provided values does not have the same length as the expected labels. Labels: {LabelNames.Length}");
            }

            var labelValues = new LabelValues(LabelNames, values.ToImmutableArray());

            return(ImmutableInterlocked.GetOrAdd(ref _metrics, labelValues, _factory));
        }
Example #11
0
        private bool isLoadedMultiQuoteFotter()
        {
            //TODO Check that all componenets of Footer are loaded correctly
            LabelValues lableValues = new LabelValues();

            if (
                (InfoFooterLabel.Exists()) &&
                (InfoFooterLabel.Displayed) &&
                (Equals(InfoFooterLabel.Text, lableValues.GetExpectedFooterText()))
                )
            {
                return(true);
            }

            return(false);
        }
Example #12
0
 public SummaryMetric(
     IClock clock,
     LabelValues labels,
     ImmutableArray <Quantile> quantiles,
     Duration maxAge,
     int ageBuckets)
 {
     _labels    = labels;
     _quantiles = quantiles;
     if (_quantiles.Length > 0)
     {
         _quantileValues = new TimeWindowQuantiles(clock, quantiles, maxAge, ageBuckets);
     }
     else
     {
         _quantileValues = null;
     }
 }
 private void AddLabel(LabelValues labellsit)
 {
     try
     {
         var label = new Label();
         label.Content              = labellsit.name;
         label.Width                = width;
         label.Height               = height;
         label.Margin               = new Thickness(left + depth * width, top, left + label.Width + depth * width, top + label.Height);
         label.MouseLeftButtonDown += label_MouseLeftButtonDown;
         labellsit.label            = label;
         depth++;
         canvas.Children.Add(label);
     }
     catch
     {
         throw;
     }
 }
Example #14
0
            internal void Init(ICollector parent, LabelValues labelValues, DateTime now)
            {
                base.Init(parent, labelValues);

                _objectives = ((Summary)parent)._objectives;
                _maxAge     = ((Summary)parent)._maxAge;
                _ageBuckets = ((Summary)parent)._ageBuckets;
                _bufCap     = ((Summary)parent)._bufCap;

                _sortedObjectives  = new double[_objectives.Count];
                _hotBuf            = new SampleBuffer(_bufCap);
                _coldBuf           = new SampleBuffer(_bufCap);
                _streamDuration    = new TimeSpan(_maxAge.Ticks / _ageBuckets);
                _headStreamExpTime = now.Add(_streamDuration);
                _hotBufExpTime     = _headStreamExpTime;

                _streams = new QuantileStream[_ageBuckets];
                for (var i = 0; i < _ageBuckets; i++)
                {
                    _streams[i] = QuantileStream.NewTargeted(_objectives);
                }

                _headStream = _streams[0];

                for (var i = 0; i < _objectives.Count; i++)
                {
                    _sortedObjectives[i] = _objectives[i].Quantile;
                }

                Array.Sort(_sortedObjectives);

                _wireMetric = new CSummary {
                    Quantiles = new CQuantile[_objectives.Count]
                };
                for (int i = 0; i < _objectives.Count; i++)
                {
                    _wireMetric.Quantiles[i] = new CQuantile
                    {
                        Quantile = _objectives[i].Quantile
                    }
                }
                ;
            }
Example #15
0
            internal override void Init(ICollector parent, LabelValues labelValues)
            {
                base.Init(parent, labelValues);

                _buckets = ((Histogram)parent)._buckets;

                if (_buckets == null)
                {
                    return;
                }

                _bucketCounts = new ulong[_buckets.Length];
                _wireMetric   = new Advanced.DataContracts.Histogram();
                for (int i = 0; i < _bucketCounts.Length; i++)
                {
                    _wireMetric.bucket.Add(new Bucket
                    {
                        upper_bound = _buckets[i]
                    });
                }
            }
Example #16
0
        private TChild GetOrAddLabelled(LabelValues key)
        {
tryagain:
            if (_labelledMetrics.TryGetValue(key, out var existing))
            {
                return(existing);
            }

            var child = new TChild();

            child.Init(this, key);

            if (_labelledMetrics.TryAdd(key, child))
            {
                return(child);
            }

            // If we get here, a child with the same labels was concurrently added by another thread.
            // We do not want to return a different child here, so throw it away and try again.
            goto tryagain;
        }
        /// <summary>
        /// Initialize a new instance of the KryptonLabel class.
        /// </summary>
        public KryptonLabel()
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            // The label cannot take the focus
            SetStyle(ControlStyles.Selectable, false);

            // Set default properties
            _style        = LabelStyle.NormalPanel;
            _useMnemonic  = true;
            _orientation  = VisualOrientation.Top;
            _target       = null;
            EnabledTarget = true;

            // Create content storage
            Values              = new LabelValues(NeedPaintDelegate);
            Values.TextChanged += OnLabelTextChanged;

            // Create palette redirector
            _paletteCommonRedirect = new PaletteContentInheritRedirect(Redirector, PaletteContentStyle.LabelNormalPanel);

            // Create the palette provider
            StateCommon   = new PaletteContent(_paletteCommonRedirect, NeedPaintDelegate);
            StateDisabled = new PaletteContent(StateCommon, NeedPaintDelegate);
            StateNormal   = new PaletteContent(StateCommon, NeedPaintDelegate);

            // Our view contains background and border with content inside
            _drawContent = new ViewDrawContent(StateNormal, this, VisualOrientation.Top)
            {
                UseMnemonic = _useMnemonic
            };

            // Create the view manager instance
            ViewManager = new ViewManager(this, _drawContent);

            // We want to be auto sized by default, but not the property default!
            AutoSize     = true;
            AutoSizeMode = AutoSizeMode.GrowAndShrink;
        }
 internal override void Init(ICollector parent, LabelValues labelValues, bool publish)
 {
     Init(parent, labelValues, DateTime.UtcNow, publish);
 }
Example #19
0
 protected internal override void Init(LabelValues labelValues, SummaryConfiguration configuration)
 {
     Init(labelValues, configuration, DateTime.UtcNow);
 }
            protected internal override void Init(LabelValues labelValues, HistogramConfiguration configuration)
            {
                base.Init(labelValues, configuration);

                _bucketCounts = new ThreadSafeLong[Configuration.Buckets.Count];
            }
Example #21
0
 public GaugeMetric(LabelValues labels)
 {
     _labels = labels;
     _value  = new AtomicDouble(0);
 }
Example #22
0
 protected internal virtual void Init(LabelValues labelValues, TConfig configuration)
 {
     _labelValues  = labelValues;
     Configuration = configuration;
 }
Example #23
0
        public T Labels(params string[] labelValues)
        {
            var key = new LabelValues(LabelNames, labelValues);

            return(GetOrAddLabelled(key));
        }
Example #24
0
 internal virtual void Init(ICollector parent, LabelValues labelValues, bool publish)
 {
     _labelValues = labelValues;
     _publish     = publish;
 }
Example #25
0
 internal override void Init(ICollector parent, LabelValues labelValues)
 {
     Init(parent, labelValues, DateTime.UtcNow);
 }
Example #26
0
 internal virtual void Init(ICollector parent, LabelValues labelValues)
 {
     _labelValues = labelValues;
 }
        /// <summary>
        /// Initialize a new instance of the RadioButton class.
        /// </summary>
        public KryptonRadioButton()
        {
            // Turn off standard click and double click events, we do that manually
            SetStyle(ControlStyles.StandardClick |
                     ControlStyles.StandardDoubleClick, false);

            // Set default properties
            _style         = LabelStyle.NormalPanel;
            _orientation   = VisualOrientation.Top;
            _checkPosition = VisualOrientation.Left;
            _checked       = false;
            _useMnemonic   = true;
            _autoCheck     = true;

            // Create content storage
            Values              = new LabelValues(NeedPaintDelegate);
            Values.TextChanged += OnRadioButtonTextChanged;
            Images              = new RadioButtonImages(NeedPaintDelegate);

            // Create palette redirector
            _paletteCommonRedirect    = new PaletteContentInheritRedirect(Redirector, PaletteContentStyle.LabelNormalPanel);
            _paletteRadioButtonImages = new PaletteRedirectRadioButton(Redirector, Images);

            // Create the palette provider
            StateCommon   = new PaletteContent(_paletteCommonRedirect, NeedPaintDelegate);
            StateDisabled = new PaletteContent(StateCommon, NeedPaintDelegate);
            StateNormal   = new PaletteContent(StateCommon, NeedPaintDelegate);
            OverrideFocus = new PaletteContent(_paletteCommonRedirect, NeedPaintDelegate);

            // Override the normal values with the focus, when the control has focus
            _overrideNormal = new PaletteContentInheritOverride(OverrideFocus, StateNormal, PaletteState.FocusOverride, false);

            // Our view contains background and border with content inside
            _drawContent = new ViewDrawContent(_overrideNormal, Values, VisualOrientation.Top)
            {
                UseMnemonic = _useMnemonic,

                // Only draw a focus rectangle when focus cues are needed in the top level form
                TestForFocusCues = true
            };

            // Create the check box image drawer and place inside element so it is always centered
            _drawRadioButton = new ViewDrawRadioButton(_paletteRadioButtonImages)
            {
                CheckState = _checked
            };
            _layoutCenter = new ViewLayoutCenter
            {
                _drawRadioButton
            };

            // Place check box on the left and the label in the remainder
            _layoutDocker = new ViewLayoutDocker
            {
                { _layoutCenter, ViewDockStyle.Left },
                { _drawContent, ViewDockStyle.Fill }
            };

            // Need a controller for handling mouse input
            _controller                   = new RadioButtonController(_drawRadioButton, _layoutDocker, NeedPaintDelegate);
            _controller.Click            += OnControllerClick;
            _controller.Enabled           = true;
            _layoutDocker.MouseController = _controller;
            _layoutDocker.KeyController   = _controller;

            // Change the layout to match the inital right to left setting and orientation
            UpdateForOrientation();

            // Create the view manager instance
            ViewManager = new ViewManager(this, _layoutDocker);

            // We want to be auto sized by default, but not the property default!
            AutoSize     = true;
            AutoSizeMode = AutoSizeMode.GrowAndShrink;
        }
Example #28
0
        /// <summary>
        /// Given an expression, it will parse it and return the result as a nullable ushort
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public ExpressionResult ParseExpression(string value)
        {
            ExpressionResult expressionResult = new ExpressionResult();

            expressionResult.Successful = true;
            expressionResult.References = new List <string>();
            value = value.Trim();
            if (HandleExpression != null)
            {
                HandleExpressionEventArgs heea = new HandleExpressionEventArgs(value);
                HandleExpression(this, heea);
                value = heea.Expression;
            }
            if (value.SafeContains('('))
            {
                // Check for advanced expression handlers
                foreach (var item in ExpressionExtensions)
                {
                    if (value.StartsWith(item.Key.ToLower() + "("))
                    {
                        string expr = value.Substring(value.SafeIndexOf('(') + 1);
                        expr = expr.Remove(expr.Length - 1);
                        expressionResult.Value = item.Value(expr);
                        return(expressionResult);
                    }
                }
                return(EvaluateParenthesis(value));
            }
            if (value.StartsWith("~"))
            {
                expressionResult = ParseExpression(value.Substring(1));
                if (expressionResult.Successful)
                {
                    expressionResult.Value = (ushort)~expressionResult.Value;
                }
                return(expressionResult);
            }
            if (!HasOperators(value))
            {
                // Parse value
                ushort result;
                EvaluateValueEventArgs args = new EvaluateValueEventArgs(value);
                if (EvaluateExpressionValue != null)
                {
                    EvaluateExpressionValue(this, args);
                }
                if (args.Handled)
                {
                    expressionResult.Value = args.Result;
                    return(expressionResult);
                }
                else if (value.StartsWith("0d"))
                {
                    value = value.Substring(2);
                }
                if (value.StartsWith("'"))                 // Character
                {
                    if (value.Length < 3)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    value = value.Substring(1, value.Length - 2).Unescape();
                    if (value == null)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    if (value.Length != 1)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    expressionResult.Value = (ushort)Encoding.ASCII.GetBytes(value)[0];
                    return(expressionResult);
                }
                else if (value.StartsWith("{") && value.EndsWith("}"))                 // instruction literal
                {
                    string           instruction  = value.Substring(1, value.Length - 2);
                    Assembler        subAssembler = new Assembler();
                    List <ListEntry> assembly     = subAssembler.Assemble(instruction);
                    if (assembly.Count == 0)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    if (assembly[0].Output == null)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    if (assembly[0].Output.Length == 0)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    expressionResult.Value = assembly[0].Output[0];
                    return(expressionResult);
                }
                else if (value.StartsWith("0x"))                 // Hex
                {
                    value = value.Substring(2);
                    if (!ushort.TryParse(value.Replace("_", ""), NumberStyles.HexNumber, null, out result))
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    else
                    {
                        expressionResult.Value = result;
                        return(expressionResult);
                    }
                }
                else if (value.StartsWith("0b"))                 // Binary
                {
                    value = value.Substring(2);
                    ushort?binResult = ParseBinary(value.Replace("_", ""));
                    if (binResult == null)
                    {
                        expressionResult.Successful = false;
                    }
                    else
                    {
                        expressionResult.Value = binResult.Value;
                    }
                    return(expressionResult);
                }
                else if (value.StartsWith("0o"))
                {
                    value = value.Substring(2);
                    try
                    {
                        expressionResult.Value = Convert.ToUInt16(value.Replace("_", ""), 8);
                        return(expressionResult);
                    }
                    catch
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                }
                else if (ushort.TryParse(value.Replace("_", ""), out result))                 // Decimal
                {
                    expressionResult.Value = result;
                    return(expressionResult);
                }
                else if (value == "$")
                {
                    if (LineNumbers.Count == 0)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    expressionResult.Value = currentAddress;
                    return(expressionResult);
                }
                else if (value.StartsWith("$"))                 // Relative label
                {
                    if (LineNumbers.Count == 0)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    value = value.Substring(1);
                    int nextLabelIndex = -1;
                    // Find the next relative label after the current line
                    for (int i = 0; i < RelativeLabels.Count; i++)
                    {
                        if (RelativeLabels.ElementAt(i).Key > LineNumbers.Peek())
                        {
                            nextLabelIndex = i;
                            break;
                        }
                    }
                    if (nextLabelIndex == -1)
                    {
                        nextLabelIndex = RelativeLabels.Count - 1;                         // If no such label is found, use the last one
                    }
                    bool initialPlus = true;
                    // For each plus, increment that label index, and each minus decrements it
                    foreach (char c in value)
                    {
                        if (c == '+')                         // The intial plus symbol is ignored
                        {
                            if (initialPlus)
                            {
                                nextLabelIndex++;
                            }
                            initialPlus = false;
                        }
                        else if (c == '-')
                        {
                            nextLabelIndex--;
                        }
                    }
                    if (nextLabelIndex < 0)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    if (nextLabelIndex > RelativeLabels.Count - 1)
                    {
                        expressionResult.Successful = false;
                        return(expressionResult);
                    }
                    expressionResult.Value = RelativeLabels.ElementAt(nextLabelIndex).Value;
                    return(expressionResult);
                }
                else if (value.ToLower() == "true")
                {
                    expressionResult.Value = 1;
                    return(expressionResult);
                }
                else if (value.ToLower() == "false")
                {
                    expressionResult.Value = 0;
                    return(expressionResult);
                }
                else                 // Defined value or error
                {
                    if (value.StartsWith("."))
                    {
                        value = PriorGlobalLabel + "_" + value.Substring(1);
                    }
                    if (Values.ContainsKey(value))
                    {
                        expressionResult.Value = Values[value];
                    }
                    else if (LabelValues.ContainsKey(value))
                    {
                        expressionResult.Relocate = true;
                        expressionResult.Value    = LabelValues.GetValue(value);
                    }
                    else
                    {
                        expressionResult.Successful = false;
                    }
                    expressionResult.References.Add(value);
                    if (!ReferencedValues.Contains(value))
                    {
                        ReferencedValues.Add(value);
                    }
                    return(expressionResult);
                }
            }

            // Parse expression
            string[] operands = GetOperands(value);
            if (operands == null)
            {
                expressionResult.Successful = false;
                return(expressionResult);
            }
            if (string.IsNullOrEmpty(operands[0]) && operands[1] == "-")
            {
                expressionResult       = ParseExpression(operands[2]);
                expressionResult.Value = (ushort)-expressionResult.Value;
                return(expressionResult);
            }
            if (operands == null)
            {
                expressionResult.Successful = false;
                return(expressionResult);
            }
            ExpressionResult left  = ParseExpression(operands[0]);
            ExpressionResult right = ParseExpression(operands[2]);

            expressionResult.References.AddRange(left.References.Concat(right.References));
            if ((!left.Successful || !right.Successful) && operands[1] != "===" && operands[1] != "!==")
            {
                expressionResult.Successful = false;
                return(expressionResult);
            }
            switch (operands[1])
            {
            case "*":
                expressionResult.Value = (ushort)(left.Value * right.Value);
                break;

            case "/":
                expressionResult.Value = (ushort)(left.Value / right.Value);
                break;

            case "+":
                expressionResult.Value = (ushort)(left.Value + right.Value);
                break;

            case "-":
                expressionResult.Value = (ushort)(left.Value - right.Value);
                break;

            case "<<":
                expressionResult.Value = (ushort)(left.Value << right.Value);
                break;

            case ">>":
                expressionResult.Value = (ushort)(left.Value >> right.Value);
                break;

            case "|":
                expressionResult.Value = (ushort)(left.Value | right.Value);
                break;

            case "^":
                expressionResult.Value = (ushort)(left.Value ^ right.Value);
                break;

            case "&":
                expressionResult.Value = (ushort)(left.Value & right.Value);
                break;

            case "%":
                expressionResult.Value = (ushort)(left.Value % right.Value);
                break;

            case "==":
                expressionResult.Value = (ushort)(left.Value == right.Value ? 1 : 0);
                break;

            case "!=":
            case "<>":
                expressionResult.Value = (ushort)(left.Value != right.Value ? 1 : 0);
                break;

            case "<":
                expressionResult.Value = (ushort)(left.Value < right.Value ? 1 : 0);
                break;

            case ">":
                expressionResult.Value = (ushort)(left.Value > right.Value ? 1 : 0);
                break;

            case "<=":
                expressionResult.Value = (ushort)(left.Value <= right.Value ? 1 : 0);
                break;

            case ">=":
                expressionResult.Value = (ushort)(left.Value >= right.Value ? 1 : 0);
                break;

            case "===":
                expressionResult.Value = (ushort)(operands[0].ToLower().Trim() == operands[2].ToLower().Trim() ? 1 : 0);
                break;

            case "!==":
                expressionResult.Value = (ushort)(operands[0].ToLower().Trim() != operands[2].ToLower().Trim() ? 1 : 0);
                break;

            case "&&":
                expressionResult.Value = (ushort)(left.Value > 0 && right.Value > 1 ? 1 : 0);
                break;

            case "||":
                expressionResult.Value = (ushort)(left.Value > 0 || right.Value > 1 ? 1 : 0);
                break;

            case "^^":
                expressionResult.Value = (ushort)(left.Value > 0 ^ right.Value > 1 ? 1 : 0);                         // between boolean operators, ^ is ^^ in C#
                break;

            default:
                expressionResult.Successful = false;
                return(expressionResult);
            }
            return(expressionResult);
        }
Example #29
0
 public CounterMetric(LabelValues labels)
 {
     _labels = labels;
     _value  = new AtomicDouble(0);
 }