Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@xamarin.com>2013-10-03 11:57:33 +0400
committerLluis Sanchez <lluis@xamarin.com>2013-10-03 11:59:04 +0400
commit2731d26aadf684e690c63389007c615f7eb70843 (patch)
treea742dc8cbbe15bb82ba0dd3a7eac240c58f581e5 /Xwt.Gtk
parent349382e4160990bf1dc50270bb60df6880ce764c (diff)
Added Keyboard class
Also refactored conversion methods in GTK backend
Diffstat (limited to 'Xwt.Gtk')
-rw-r--r--Xwt.Gtk/Xwt.Gtk.csproj2
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/Conversion.cs122
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/FrameBackend.cs2
-rwxr-xr-xXwt.Gtk/Xwt.GtkBackend/GtkEngine.cs1
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs6
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/GtkKeyboardHandler.cs15
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/HeaderBox.cs4
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs4
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/PasswordEntryBackend.cs2
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/ScrollViewBackend.cs8
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/SelectColorDialogBackend.cs4
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/TableViewBackend.cs8
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/TextEntryBackend.cs8
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/Util.cs100
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs14
15 files changed, 167 insertions, 133 deletions
diff --git a/Xwt.Gtk/Xwt.Gtk.csproj b/Xwt.Gtk/Xwt.Gtk.csproj
index f1488f7f..50ac8955 100644
--- a/Xwt.Gtk/Xwt.Gtk.csproj
+++ b/Xwt.Gtk/Xwt.Gtk.csproj
@@ -126,6 +126,8 @@
<Compile Include="Xwt.GtkBackend.CellViews\CustomCellRendererToggle.cs" />
<Compile Include="Xwt.GtkBackend.CellViews\CustomCellRendererImage.cs" />
<Compile Include="Xwt.GtkBackend\ScrollbarBackend.cs" />
+ <Compile Include="Xwt.GtkBackend\GtkKeyboardHandler.cs" />
+ <Compile Include="Xwt.GtkBackend\Conversion.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Conversion.cs b/Xwt.Gtk/Xwt.GtkBackend/Conversion.cs
new file mode 100644
index 00000000..61eec111
--- /dev/null
+++ b/Xwt.Gtk/Xwt.GtkBackend/Conversion.cs
@@ -0,0 +1,122 @@
+using System;
+using Xwt.Drawing;
+
+namespace Xwt.GtkBackend
+{
+ public static class Conversion
+ {
+ public static Gtk.IconSize ToGtkValue (Xwt.IconSize size)
+ {
+ switch (size) {
+ case IconSize.Small:
+ return Gtk.IconSize.Menu;
+ case IconSize.Medium:
+ return Gtk.IconSize.Button;
+ case IconSize.Large:
+ return Gtk.IconSize.Dialog;
+ }
+ return Gtk.IconSize.Dialog;
+ }
+
+ public static Gdk.Color ToGtkValue (this Xwt.Drawing.Color color)
+ {
+ return new Gdk.Color ((byte)(color.Red * 255), (byte)(color.Green * 255), (byte)(color.Blue * 255));
+ }
+
+ public static Color ToXwtValue (this Gdk.Color color)
+ {
+ return new Color ((double)color.Red / (double)ushort.MaxValue, (double)color.Green / (double)ushort.MaxValue, (double)color.Blue / (double)ushort.MaxValue);
+ }
+
+ public static Pango.EllipsizeMode ToGtkValue (this EllipsizeMode value)
+ {
+ switch (value) {
+ case Xwt.EllipsizeMode.None: return Pango.EllipsizeMode.None;
+ case Xwt.EllipsizeMode.Start: return Pango.EllipsizeMode.Start;
+ case Xwt.EllipsizeMode.Middle: return Pango.EllipsizeMode.Middle;
+ case Xwt.EllipsizeMode.End: return Pango.EllipsizeMode.End;
+ }
+ throw new NotSupportedException ();
+ }
+
+ public static EllipsizeMode ToXwtValue (this Pango.EllipsizeMode value)
+ {
+ switch (value) {
+ case Pango.EllipsizeMode.None: return Xwt.EllipsizeMode.None;
+ case Pango.EllipsizeMode.Start: return Xwt.EllipsizeMode.Start;
+ case Pango.EllipsizeMode.Middle: return Xwt.EllipsizeMode.Middle;
+ case Pango.EllipsizeMode.End: return Xwt.EllipsizeMode.End;
+ }
+ throw new NotSupportedException ();
+ }
+
+ public static ScrollPolicy ToXwtValue (this Gtk.PolicyType p)
+ {
+ switch (p) {
+ case Gtk.PolicyType.Always:
+ return ScrollPolicy.Always;
+ case Gtk.PolicyType.Automatic:
+ return ScrollPolicy.Automatic;
+ case Gtk.PolicyType.Never:
+ return ScrollPolicy.Never;
+ }
+ throw new InvalidOperationException ("Invalid policy value:" + p);
+ }
+
+ public static Gtk.PolicyType ToGtkValue (this ScrollPolicy p)
+ {
+ switch (p) {
+ case ScrollPolicy.Always:
+ return Gtk.PolicyType.Always;
+ case ScrollPolicy.Automatic:
+ return Gtk.PolicyType.Automatic;
+ case ScrollPolicy.Never:
+ return Gtk.PolicyType.Never;
+ }
+ throw new InvalidOperationException ("Invalid policy value:" + p);
+ }
+
+ public static ScrollDirection ToXwtValue(this Gdk.ScrollDirection d)
+ {
+ switch(d) {
+ case Gdk.ScrollDirection.Up:
+ return Xwt.ScrollDirection.Up;
+ case Gdk.ScrollDirection.Down:
+ return Xwt.ScrollDirection.Down;
+ case Gdk.ScrollDirection.Left:
+ return Xwt.ScrollDirection.Left;
+ case Gdk.ScrollDirection.Right:
+ return Xwt.ScrollDirection.Right;
+ }
+ throw new InvalidOperationException("Invalid mouse scroll direction value: " + d);
+ }
+
+ public static Gdk.ScrollDirection ToGtkValue(this ScrollDirection d)
+ {
+ switch (d) {
+ case ScrollDirection.Up:
+ return Gdk.ScrollDirection.Up;
+ case ScrollDirection.Down:
+ return Gdk.ScrollDirection.Down;
+ case ScrollDirection.Left:
+ return Gdk.ScrollDirection.Left;
+ case ScrollDirection.Right:
+ return Gdk.ScrollDirection.Right;
+ }
+ throw new InvalidOperationException("Invalid mouse scroll direction value: " + d);
+ }
+
+ public static ModifierKeys ToXwtValue (this Gdk.ModifierType s)
+ {
+ ModifierKeys m = ModifierKeys.None;
+ if ((s & Gdk.ModifierType.ShiftMask) != 0)
+ m |= ModifierKeys.Shift;
+ if ((s & Gdk.ModifierType.ControlMask) != 0)
+ m |= ModifierKeys.Control;
+ if ((s & Gdk.ModifierType.Mod1Mask) != 0)
+ m |= ModifierKeys.Alt;
+ return m;
+ }
+ }
+}
+
diff --git a/Xwt.Gtk/Xwt.GtkBackend/FrameBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/FrameBackend.cs
index 1eb70127..18b948cd 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/FrameBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/FrameBackend.cs
@@ -163,7 +163,7 @@ namespace Xwt.GtkBackend
public Color BorderColor {
get {
if (borderColor == null)
- return Util.ToXwtColor (Widget.Style.Dark (Gtk.StateType.Normal));
+ return Widget.Style.Dark (Gtk.StateType.Normal).ToXwtValue ();
else
return borderColor.Value;
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkEngine.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkEngine.cs
index 7576ca1c..bad937bf 100755
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkEngine.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkEngine.cs
@@ -102,6 +102,7 @@ namespace Xwt.GtkBackend
RegisterBackend<IRadioButtonBackend, RadioButtonBackend> ();
RegisterBackend<IScrollbarBackend, ScrollbarBackend> ();
RegisterBackend<IPasswordEntryBackend, PasswordEntryBackend> ();
+ RegisterBackend<KeyboardHandler, GtkKeyboardHandler> ();
}
public override void Dispose ()
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
index 50ef452d..efb651ea 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
@@ -69,11 +69,11 @@ namespace Xwt.GtkBackend
if (attr is BackgroundTextAttribute) {
var xa = (BackgroundTextAttribute)attr;
- AddBackgroundAttribute (xa.Color.ToGdkColor (), start, end);
+ AddBackgroundAttribute (xa.Color.ToGtkValue (), start, end);
}
else if (attr is ColorTextAttribute) {
var xa = (ColorTextAttribute)attr;
- AddForegroundAttribute (xa.Color.ToGdkColor (), start, end);
+ AddForegroundAttribute (xa.Color.ToGtkValue (), start, end);
}
else if (attr is FontWeightTextAttribute) {
var xa = (FontWeightTextAttribute)attr;
@@ -97,7 +97,7 @@ namespace Xwt.GtkBackend
}
else if (attr is LinkTextAttribute) {
AddUnderlineAttribute (Pango.Underline.Single, start, end);
- AddForegroundAttribute (Colors.Blue.ToGdkColor (), start, end);
+ AddForegroundAttribute (Colors.Blue.ToGtkValue (), start, end);
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkKeyboardHandler.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkKeyboardHandler.cs
new file mode 100644
index 00000000..67b5c95a
--- /dev/null
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkKeyboardHandler.cs
@@ -0,0 +1,15 @@
+using System;
+using Xwt.Backends;
+
+namespace Xwt.GtkBackend
+{
+ public class GtkKeyboardHandler: KeyboardHandler
+ {
+ public override ModifierKeys CurrentModifiers {
+ get {
+ return GtkWorkarounds.GetCurrentKeyModifiers ().ToXwtValue ();
+ }
+ }
+ }
+}
+
diff --git a/Xwt.Gtk/Xwt.GtkBackend/HeaderBox.cs b/Xwt.Gtk/Xwt.GtkBackend/HeaderBox.cs
index 1a39d5ad..a4d75ab7 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/HeaderBox.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/HeaderBox.cs
@@ -129,7 +129,7 @@ namespace Xwt.GtkBackend
}
if (GradientBackround) {
- Color gcol = Util.ToXwtColor (Style.Background (Gtk.StateType.Normal));
+ Color gcol = Style.Background (Gtk.StateType.Normal).ToXwtValue ();
cr.NewPath ();
cr.MoveTo (rect.X, rect.Y);
@@ -148,7 +148,7 @@ namespace Xwt.GtkBackend
}
}
- cr.SetSourceColor (color.HasValue ? color.Value.ToCairoColor () : Style.Dark (Gtk.StateType.Normal).ToXwtColor ().ToCairoColor ());
+ cr.SetSourceColor (color.HasValue ? color.Value.ToCairoColor () : Style.Dark (Gtk.StateType.Normal).ToXwtValue ().ToCairoColor ());
cr.Rectangle (rect.X, rect.Y, rect.Width, topMargin);
cr.Rectangle (rect.X, rect.Y + rect.Height - bottomMargin, rect.Width, bottomMargin);
cr.Rectangle (rect.X, rect.Y, leftMargin, rect.Height);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
index efb5a757..f05d8309 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
@@ -222,10 +222,10 @@ namespace Xwt.GtkBackend
public Xwt.Drawing.Color TextColor {
get {
- return textColor.HasValue ? textColor.Value : Util.ToXwtColor (Widget.Style.Foreground (Gtk.StateType.Normal));
+ return textColor.HasValue ? textColor.Value : Widget.Style.Foreground (Gtk.StateType.Normal).ToXwtValue ();
}
set {
- var color = value.ToGdkColor ();
+ var color = value.ToGtkValue ();
var attr = new Pango.AttrForeground (color.Red, color.Green, color.Blue);
var attrs = new Pango.AttrList ();
attrs.Insert (attr);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/PasswordEntryBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/PasswordEntryBackend.cs
index 5642a7b7..fb1cc8ee 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/PasswordEntryBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/PasswordEntryBackend.cs
@@ -59,7 +59,7 @@ namespace Xwt.GtkBackend
}
set {
base.BackgroundColor = value;
- Widget.ModifyBase (Gtk.StateType.Normal, value.ToGdkColor ());
+ Widget.ModifyBase (Gtk.StateType.Normal, value.ToGtkValue ());
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/ScrollViewBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/ScrollViewBackend.cs
index d9ceb079..726b2d13 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/ScrollViewBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/ScrollViewBackend.cs
@@ -150,19 +150,19 @@ namespace Xwt.GtkBackend
public ScrollPolicy VerticalScrollPolicy {
get {
- return Util.ConvertScrollPolicy (Widget.VscrollbarPolicy);
+ return Widget.VscrollbarPolicy.ToXwtValue ();
}
set {
- Widget.VscrollbarPolicy = Util.ConvertScrollPolicy (value);
+ Widget.VscrollbarPolicy = value.ToGtkValue ();
}
}
public ScrollPolicy HorizontalScrollPolicy {
get {
- return Util.ConvertScrollPolicy (Widget.HscrollbarPolicy);
+ return Widget.HscrollbarPolicy.ToXwtValue ();
}
set {
- Widget.HscrollbarPolicy = Util.ConvertScrollPolicy (value);
+ Widget.HscrollbarPolicy = value.ToGtkValue ();
}
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/SelectColorDialogBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/SelectColorDialogBackend.cs
index 5fcee294..3875bb3a 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/SelectColorDialogBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/SelectColorDialogBackend.cs
@@ -45,7 +45,7 @@ namespace Xwt.GtkBackend
dlg.Title = title;
dlg.ColorSelection.HasOpacityControl = supportsAlpha;
- dlg.ColorSelection.CurrentColor = color.ToGdkColor ();
+ dlg.ColorSelection.CurrentColor = color.ToGtkValue ();
if (supportsAlpha)
dlg.ColorSelection.CurrentAlpha = (ushort) (((double)ushort.MaxValue) * color.Alpha);
@@ -53,7 +53,7 @@ namespace Xwt.GtkBackend
int result = MessageService.RunCustomDialog (dlg, p != null ? p.Window : null);
if (result == (int) Gtk.ResponseType.Ok) {
- color = dlg.ColorSelection.CurrentColor.ToXwtColor ();
+ color = dlg.ColorSelection.CurrentColor.ToXwtValue ();
if (supportsAlpha)
color = color.WithAlpha ((double)dlg.ColorSelection.CurrentAlpha / (double)ushort.MaxValue);
return true;
diff --git a/Xwt.Gtk/Xwt.GtkBackend/TableViewBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/TableViewBackend.cs
index bde3b89a..d03ca585 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/TableViewBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/TableViewBackend.cs
@@ -63,19 +63,19 @@ namespace Xwt.GtkBackend
public ScrollPolicy VerticalScrollPolicy {
get {
- return Util.ConvertScrollPolicy (ScrolledWindow.VscrollbarPolicy);
+ return ScrolledWindow.VscrollbarPolicy.ToXwtValue ();
}
set {
- ScrolledWindow.VscrollbarPolicy = Util.ConvertScrollPolicy (value);
+ ScrolledWindow.VscrollbarPolicy = value.ToGtkValue ();
}
}
public ScrollPolicy HorizontalScrollPolicy {
get {
- return Util.ConvertScrollPolicy (ScrolledWindow.HscrollbarPolicy);
+ return ScrolledWindow.HscrollbarPolicy.ToXwtValue ();
}
set {
- ScrolledWindow.HscrollbarPolicy = Util.ConvertScrollPolicy (value);
+ ScrolledWindow.HscrollbarPolicy = value.ToGtkValue ();
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/TextEntryBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/TextEntryBackend.cs
index f7ac887d..26d1550f 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/TextEntryBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/TextEntryBackend.cs
@@ -91,7 +91,7 @@ namespace Xwt.GtkBackend
}
set {
base.BackgroundColor = value;
- Widget.ModifyBase (Gtk.StateType.Normal, value.ToGdkColor ());
+ Widget.ModifyBase (Gtk.StateType.Normal, value.ToGtkValue ());
}
}
@@ -128,9 +128,9 @@ namespace Xwt.GtkBackend
layout.GetPixelSize (out width, out height);
using (var gc = new Gdk.GC (args.Event.Window)) {
gc.Copy (entry.Style.TextGC (Gtk.StateType.Normal));
- Color color_a = entry.Style.Base (Gtk.StateType.Normal).ToXwtColor ();
- Color color_b = entry.Style.Text (Gtk.StateType.Normal).ToXwtColor ();
- gc.RgbFgColor = color_b.BlendWith (color_a, 0.5).ToGdkColor ();
+ Color color_a = entry.Style.Base (Gtk.StateType.Normal).ToXwtValue ();
+ Color color_b = entry.Style.Text (Gtk.StateType.Normal).ToXwtValue ();
+ gc.RgbFgColor = color_b.BlendWith (color_a, 0.5).ToGtkValue ();
args.Event.Window.DrawLayout (gc, 2, (wh - height) / 2 + 1, layout);
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Util.cs b/Xwt.Gtk/Xwt.GtkBackend/Util.cs
index 412e995c..059e7ace 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/Util.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/Util.cs
@@ -200,107 +200,7 @@ namespace Xwt.GtkBackend
throw new NotSupportedException ("Unknown image: " + id);
return new GtkImage (res);
}
-
- public static Gtk.IconSize ToGtkSize (Xwt.IconSize size)
- {
- switch (size) {
- case IconSize.Small:
- return Gtk.IconSize.Menu;
- case IconSize.Medium:
- return Gtk.IconSize.Button;
- case IconSize.Large:
- return Gtk.IconSize.Dialog;
- }
- return Gtk.IconSize.Dialog;
- }
-
- public static Gdk.Color ToGdkColor (this Xwt.Drawing.Color color)
- {
- return new Gdk.Color ((byte)(color.Red * 255), (byte)(color.Green * 255), (byte)(color.Blue * 255));
- }
-
- public static Color ToXwtColor (this Gdk.Color color)
- {
- return new Color ((double)color.Red / (double)ushort.MaxValue, (double)color.Green / (double)ushort.MaxValue, (double)color.Blue / (double)ushort.MaxValue);
- }
-
- public static Pango.EllipsizeMode ToGtkValue (this EllipsizeMode value)
- {
- switch (value) {
- case Xwt.EllipsizeMode.None: return Pango.EllipsizeMode.None;
- case Xwt.EllipsizeMode.Start: return Pango.EllipsizeMode.Start;
- case Xwt.EllipsizeMode.Middle: return Pango.EllipsizeMode.Middle;
- case Xwt.EllipsizeMode.End: return Pango.EllipsizeMode.End;
- }
- throw new NotSupportedException ();
- }
-
- public static EllipsizeMode ToXwtValue (this Pango.EllipsizeMode value)
- {
- switch (value) {
- case Pango.EllipsizeMode.None: return Xwt.EllipsizeMode.None;
- case Pango.EllipsizeMode.Start: return Xwt.EllipsizeMode.Start;
- case Pango.EllipsizeMode.Middle: return Xwt.EllipsizeMode.Middle;
- case Pango.EllipsizeMode.End: return Xwt.EllipsizeMode.End;
- }
- throw new NotSupportedException ();
- }
-
- public static ScrollPolicy ConvertScrollPolicy (Gtk.PolicyType p)
- {
- switch (p) {
- case Gtk.PolicyType.Always:
- return ScrollPolicy.Always;
- case Gtk.PolicyType.Automatic:
- return ScrollPolicy.Automatic;
- case Gtk.PolicyType.Never:
- return ScrollPolicy.Never;
- }
- throw new InvalidOperationException ("Invalid policy value:" + p);
- }
-
- public static Gtk.PolicyType ConvertScrollPolicy (ScrollPolicy p)
- {
- switch (p) {
- case ScrollPolicy.Always:
- return Gtk.PolicyType.Always;
- case ScrollPolicy.Automatic:
- return Gtk.PolicyType.Automatic;
- case ScrollPolicy.Never:
- return Gtk.PolicyType.Never;
- }
- throw new InvalidOperationException ("Invalid policy value:" + p);
- }
-
- public static ScrollDirection ConvertScrollDirection(Gdk.ScrollDirection d)
- {
- switch(d) {
- case Gdk.ScrollDirection.Up:
- return Xwt.ScrollDirection.Up;
- case Gdk.ScrollDirection.Down:
- return Xwt.ScrollDirection.Down;
- case Gdk.ScrollDirection.Left:
- return Xwt.ScrollDirection.Left;
- case Gdk.ScrollDirection.Right:
- return Xwt.ScrollDirection.Right;
- }
- throw new InvalidOperationException("Invalid mouse scroll direction value: " + d);
- }
- public static Gdk.ScrollDirection ConvertScrollDirection(ScrollDirection d)
- {
- switch (d) {
- case ScrollDirection.Up:
- return Gdk.ScrollDirection.Up;
- case ScrollDirection.Down:
- return Gdk.ScrollDirection.Down;
- case ScrollDirection.Left:
- return Gdk.ScrollDirection.Left;
- case ScrollDirection.Right:
- return Gdk.ScrollDirection.Right;
- }
- throw new InvalidOperationException("Invalid mouse scroll direction value: " + d);
- }
public static Gtk.IconSize GetBestSizeFit (double size, Gtk.IconSize[] availablesizes = null)
{
diff --git a/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
index 5770bb15..92557e5a 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
@@ -354,12 +354,12 @@ namespace Xwt.GtkBackend
public virtual Color BackgroundColor {
get {
- return customBackgroundColor.HasValue ? customBackgroundColor.Value : Util.ToXwtColor (Widget.Style.Background (Gtk.StateType.Normal));
+ return customBackgroundColor.HasValue ? customBackgroundColor.Value : Widget.Style.Background (Gtk.StateType.Normal).ToXwtValue ();
}
set {
customBackgroundColor = value;
AllocEventBox (visibleWindow: true);
- EventsRootWidget.ModifyBg (Gtk.StateType.Normal, Util.ToGdkColor (value));
+ EventsRootWidget.ModifyBg (Gtk.StateType.Normal, value.ToGtkValue ());
}
}
@@ -695,13 +695,7 @@ namespace Xwt.GtkBackend
void HandleKeyPressEvent (object o, Gtk.KeyPressEventArgs args)
{
Key k = (Key)args.Event.KeyValue;
- ModifierKeys m = ModifierKeys.None;
- if ((args.Event.State & Gdk.ModifierType.ShiftMask) != 0)
- m |= ModifierKeys.Shift;
- if ((args.Event.State & Gdk.ModifierType.ControlMask) != 0)
- m |= ModifierKeys.Control;
- if ((args.Event.State & Gdk.ModifierType.Mod1Mask) != 0)
- m |= ModifierKeys.Alt;
+ ModifierKeys m = args.Event.State.ToXwtValue ();
KeyEventArgs kargs = new KeyEventArgs (k, m, false, (long)args.Event.Time);
ApplicationContext.InvokeUserCode (delegate {
EventSink.OnKeyPressed (kargs);
@@ -714,7 +708,7 @@ namespace Xwt.GtkBackend
void HandleScrollEvent(object o, Gtk.ScrollEventArgs args)
{
var sc = ConvertToScreenCoordinates (new Point (0, 0));
- var direction = Util.ConvertScrollDirection(args.Event.Direction);
+ var direction = args.Event.Direction.ToXwtValue ();
var a = new MouseScrolledEventArgs ((long) args.Event.Time, args.Event.XRoot - sc.X, args.Event.YRoot - sc.Y, direction);
ApplicationContext.InvokeUserCode (delegate {