author | sl |
Thu, 01 Jan 2015 23:35:49 +0100 | |
changeset 405 | 5715aefd2bcc |
permissions | -rw-r--r-- |
moel@345 | 1 |
using System; |
moel@345 | 2 |
using System.Collections.Generic; |
moel@345 | 3 |
using System.Text; |
moel@345 | 4 |
using System.Drawing; |
moel@345 | 5 |
using System.Windows.Forms; |
moel@345 | 6 |
using System.Reflection; |
moel@345 | 7 |
using System.ComponentModel; |
moel@345 | 8 |
using System.Drawing.Design; |
moel@345 | 9 |
|
moel@345 | 10 |
namespace Aga.Controls.Tree.NodeControls |
moel@345 | 11 |
{ |
moel@345 | 12 |
public class NodeNumericUpDown : BaseTextControl |
moel@345 | 13 |
{ |
moel@345 | 14 |
#region Properties |
moel@345 | 15 |
|
moel@345 | 16 |
private int _editorWidth = 100; |
moel@345 | 17 |
[DefaultValue(100)] |
moel@345 | 18 |
public int EditorWidth |
moel@345 | 19 |
{ |
moel@345 | 20 |
get { return _editorWidth; } |
moel@345 | 21 |
set { _editorWidth = value; } |
moel@345 | 22 |
} |
moel@345 | 23 |
|
moel@345 | 24 |
private int _decimalPlaces = 0; |
moel@345 | 25 |
[Category("Data"), DefaultValue(0)] |
moel@345 | 26 |
public int DecimalPlaces |
moel@345 | 27 |
{ |
moel@345 | 28 |
get |
moel@345 | 29 |
{ |
moel@345 | 30 |
return this._decimalPlaces; |
moel@345 | 31 |
} |
moel@345 | 32 |
set |
moel@345 | 33 |
{ |
moel@345 | 34 |
this._decimalPlaces = value; |
moel@345 | 35 |
} |
moel@345 | 36 |
} |
moel@345 | 37 |
|
moel@345 | 38 |
private decimal _increment = 1; |
moel@345 | 39 |
[Category("Data"), DefaultValue(1)] |
moel@345 | 40 |
public decimal Increment |
moel@345 | 41 |
{ |
moel@345 | 42 |
get |
moel@345 | 43 |
{ |
moel@345 | 44 |
return this._increment; |
moel@345 | 45 |
} |
moel@345 | 46 |
set |
moel@345 | 47 |
{ |
moel@345 | 48 |
this._increment = value; |
moel@345 | 49 |
} |
moel@345 | 50 |
} |
moel@345 | 51 |
|
moel@345 | 52 |
private decimal _minimum = 0; |
moel@345 | 53 |
[Category("Data"), DefaultValue(0)] |
moel@345 | 54 |
public decimal Minimum |
moel@345 | 55 |
{ |
moel@345 | 56 |
get |
moel@345 | 57 |
{ |
moel@345 | 58 |
return _minimum; |
moel@345 | 59 |
} |
moel@345 | 60 |
set |
moel@345 | 61 |
{ |
moel@345 | 62 |
_minimum = value; |
moel@345 | 63 |
} |
moel@345 | 64 |
} |
moel@345 | 65 |
|
moel@345 | 66 |
private decimal _maximum = 100; |
moel@345 | 67 |
[Category("Data"), DefaultValue(100)] |
moel@345 | 68 |
public decimal Maximum |
moel@345 | 69 |
{ |
moel@345 | 70 |
get |
moel@345 | 71 |
{ |
moel@345 | 72 |
return this._maximum; |
moel@345 | 73 |
} |
moel@345 | 74 |
set |
moel@345 | 75 |
{ |
moel@345 | 76 |
this._maximum = value; |
moel@345 | 77 |
} |
moel@345 | 78 |
} |
moel@345 | 79 |
|
moel@345 | 80 |
#endregion |
moel@345 | 81 |
|
moel@345 | 82 |
public NodeNumericUpDown() |
moel@345 | 83 |
{ |
moel@345 | 84 |
} |
moel@345 | 85 |
|
moel@345 | 86 |
protected override Size CalculateEditorSize(EditorContext context) |
moel@345 | 87 |
{ |
moel@345 | 88 |
if (Parent.UseColumns) |
moel@345 | 89 |
return context.Bounds.Size; |
moel@345 | 90 |
else |
moel@345 | 91 |
return new Size(EditorWidth, context.Bounds.Height); |
moel@345 | 92 |
} |
moel@345 | 93 |
|
moel@345 | 94 |
protected override Control CreateEditor(TreeNodeAdv node) |
moel@345 | 95 |
{ |
moel@345 | 96 |
NumericUpDown num = new NumericUpDown(); |
moel@345 | 97 |
num.Increment = Increment; |
moel@345 | 98 |
num.DecimalPlaces = DecimalPlaces; |
moel@345 | 99 |
num.Minimum = Minimum; |
moel@345 | 100 |
num.Maximum = Maximum; |
moel@345 | 101 |
num.Value = (decimal)GetValue(node); |
moel@345 | 102 |
SetEditControlProperties(num, node); |
moel@345 | 103 |
return num; |
moel@345 | 104 |
} |
moel@345 | 105 |
|
moel@345 | 106 |
protected override void DisposeEditor(Control editor) |
moel@345 | 107 |
{ |
moel@345 | 108 |
} |
moel@345 | 109 |
|
moel@345 | 110 |
protected override void DoApplyChanges(TreeNodeAdv node, Control editor) |
moel@345 | 111 |
{ |
moel@345 | 112 |
SetValue(node, (editor as NumericUpDown).Value); |
moel@345 | 113 |
} |
moel@345 | 114 |
} |
moel@345 | 115 |
} |