using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Windows.Forms; using System.Reflection; using System.ComponentModel; using System.Drawing.Design; namespace Aga.Controls.Tree.NodeControls { public class NodeNumericUpDown : BaseTextControl { #region Properties private int _editorWidth = 100; [DefaultValue(100)] public int EditorWidth { get { return _editorWidth; } set { _editorWidth = value; } } private int _decimalPlaces = 0; [Category("Data"), DefaultValue(0)] public int DecimalPlaces { get { return this._decimalPlaces; } set { this._decimalPlaces = value; } } private decimal _increment = 1; [Category("Data"), DefaultValue(1)] public decimal Increment { get { return this._increment; } set { this._increment = value; } } private decimal _minimum = 0; [Category("Data"), DefaultValue(0)] public decimal Minimum { get { return _minimum; } set { _minimum = value; } } private decimal _maximum = 100; [Category("Data"), DefaultValue(100)] public decimal Maximum { get { return this._maximum; } set { this._maximum = value; } } #endregion public NodeNumericUpDown() { } protected override Size CalculateEditorSize(EditorContext context) { if (Parent.UseColumns) return context.Bounds.Size; else return new Size(EditorWidth, context.Bounds.Height); } protected override Control CreateEditor(TreeNodeAdv node) { NumericUpDown num = new NumericUpDown(); num.Increment = Increment; num.DecimalPlaces = DecimalPlaces; num.Minimum = Minimum; num.Maximum = Maximum; num.Value = (decimal)GetValue(node); SetEditControlProperties(num, node); return num; } protected override void DisposeEditor(Control editor) { } protected override void DoApplyChanges(TreeNodeAdv node, Control editor) { SetValue(node, (editor as NumericUpDown).Value); } } }