mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-09-19 20:59:51 +02:00
6c02b6f431
* gconf/GConf.PropertyEditors/PropertyEditorColorPicker.cs : ns stuff * glade/XML.custom : more GnomeSharp namespace stuff * gnome/CanvasProxy.cs : ditto * sample/CanvasExample.cs : ditto * sample/Fifteen.cs : ditto * sample/GnomeHelloWorld.cs : ditto svn path=/trunk/gtk-sharp/; revision=8592
45 lines
1.0 KiB
C#
45 lines
1.0 KiB
C#
namespace GConf.PropertyEditors
|
|
{
|
|
using Gtk;
|
|
using GtkSharp;
|
|
using Gnome;
|
|
using System;
|
|
using System.Drawing;
|
|
|
|
public class PropertyEditorColorPicker : PropertyEditor
|
|
{
|
|
protected override void ValueChanged (object sender, NotifyEventArgs args)
|
|
{
|
|
object val = args.Value;
|
|
if (val == null)
|
|
return;
|
|
|
|
ColorPicker picker = (ColorPicker) Control;
|
|
Color color = ColorTranslator.FromHtml ((string) val);
|
|
picker.SetI8 (color.R, color.G, color.B, color.A);
|
|
}
|
|
|
|
byte ToByte (uint val)
|
|
{
|
|
return (byte) (val >> 8);
|
|
}
|
|
|
|
void Changed (object obj, GnomeSharp.ColorSetArgs args)
|
|
{
|
|
ColorPicker picker = (ColorPicker) Control;
|
|
Color color = Color.FromArgb (ToByte (picker.Red), ToByte (picker.Green), ToByte (picker.Blue));
|
|
Set (ColorTranslator.ToHtml (color));
|
|
}
|
|
|
|
protected override void ConnectHandlers ()
|
|
{
|
|
ColorPicker picker = (ColorPicker) Control;
|
|
picker.ColorSet += new GnomeSharp.ColorSetHandler (Changed);
|
|
}
|
|
|
|
public PropertyEditorColorPicker (string key, ColorPicker picker) : base (key, picker)
|
|
{
|
|
}
|
|
}
|
|
}
|