43 lines
850 B
C#
43 lines
850 B
C#
|
namespace GConf.PropertyEditors
|
||
|
{
|
||
|
using Gtk;
|
||
|
using GtkSharp;
|
||
|
using System;
|
||
|
|
||
|
public class PropertyEditorSpinButton : PropertyEditor
|
||
|
{
|
||
|
bool is_int;
|
||
|
|
||
|
protected override void ValueChanged (object sender, NotifyEventArgs args)
|
||
|
{
|
||
|
object val = args.Value;
|
||
|
SpinButton spin = (SpinButton) Control;
|
||
|
is_int = val is int;
|
||
|
|
||
|
if (is_int)
|
||
|
spin.Value = (double) (int) val;
|
||
|
else
|
||
|
spin.Value = (double) val;
|
||
|
}
|
||
|
|
||
|
void Changed (object obj, EventArgs args)
|
||
|
{
|
||
|
Adjustment adj = (Adjustment) obj;
|
||
|
if (is_int)
|
||
|
Set ((int) adj.Value);
|
||
|
else
|
||
|
Set (adj.Value);
|
||
|
}
|
||
|
|
||
|
protected override void ConnectHandlers ()
|
||
|
{
|
||
|
SpinButton spin = (SpinButton) Control;
|
||
|
spin.Adjustment.ValueChanged += new EventHandler (Changed);
|
||
|
}
|
||
|
|
||
|
public PropertyEditorSpinButton (string key, SpinButton spin) : base (key, spin)
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
}
|