public TextBox(string label, QLString value, bool readOnly, Action <IValue> valueChangedHandler) { _valueChangedHandler = valueChangedHandler; AddLabel(label); _textBox = new System.Windows.Forms.TextBox { Text = value.Value, AutoSize = true, ReadOnly = readOnly }; if (!readOnly) { _textBox.Validated += _textBox_Validated; } _panel.Controls.Add(_textBox); }
public virtual void Visit(QLString value) { }
private static QLString Multiply(QLString a, QLInteger b) => Multiply(b, a);
public void Visit(QLString value) { _result = value; }
private static QLString Multiply(QLInteger a, QLString b) => new QLString(string.Concat(Enumerable.Repeat(b.Value, a.Value)));
private static QLString Subtract(QLString a, QLString b) => a.Value.Contains(b.Value) ? new QLString(a.Value.Remove(a.Value.LastIndexOf(b.Value, StringComparison.Ordinal))) : a;
private static QLString Add(QLString a, QLString b) => new QLString(a.Value + b.Value);
private static bool Equal(QLString a, QLString b) => a.Value == b.Value;
public void Visit(QLString value) { _result = value.IsUndefined() ? NewUndefined(QLString.Default) : new TextBox(_label, value, _readOnly, _valueChangedHandler); }