Browse Source

Renamed mouse stuff to pointer.

pull/4/head
Steven Kirk 12 years ago
parent
commit
7498319b1c
  1. 12
      Perspex.UnitTests/Controls/ControlTests.cs
  2. 10
      Perspex.Windows/Window.cs
  3. 4
      Perspex/Controls/Button.cs
  4. 36
      Perspex/Controls/Control.cs
  5. 4
      Perspex/Input/PointerEventArgs.cs
  6. 2
      Perspex/Perspex.csproj
  7. 2
      Perspex/PerspexObject.cs
  8. 2
      Perspex/Themes/Default/ButtonStyle.cs
  9. 2
      TestApplication/Program.cs

12
Perspex.UnitTests/Controls/ControlTests.cs

@ -26,22 +26,22 @@ namespace Perspex.UnitTests.Controls
}
[TestMethod]
public void Setting_IsMouseOver_Should_Add_Mouseover_Class()
public void Setting_IsPointerOver_Should_Add_PointerOver_Class()
{
var target = new Control();
target.IsMouseOver = true;
target.IsPointerOver = true;
CollectionAssert.AreEqual(new[] { ":mouseover" }, target.Classes.ToArray());
CollectionAssert.AreEqual(new[] { ":pointerover" }, target.Classes.ToArray());
}
[TestMethod]
public void Clearing_IsMouseOver_Should_Remove_Mouseover_Class()
public void Clearing_IsPointerOver_Should_Remove_PointerOver_Class()
{
var target = new Control();
target.IsMouseOver = true;
target.IsMouseOver = false;
target.IsPointerOver = true;
target.IsPointerOver = false;
Assert.AreEqual(0, target.Classes.Count);
}

10
Perspex.Windows/Window.cs

@ -148,9 +148,9 @@ namespace Perspex.Windows
if (source != null)
{
source.RaiseEvent(new MouseEventArgs
source.RaiseEvent(new PointerEventArgs
{
RoutedEvent = Control.MouseLeftButtonDownEvent,
RoutedEvent = Control.PointerPressedEvent,
OriginalSource = source,
Source = source,
});
@ -164,7 +164,7 @@ namespace Perspex.Windows
if (control != null)
{
control.IsMouseOver = visual.Bounds.Contains(p);
control.IsPointerOver = visual.Bounds.Contains(p);
}
foreach (Visual child in ((IVisual)visual).VisualChildren)
@ -183,9 +183,9 @@ namespace Perspex.Windows
if (source != null)
{
source.RaiseEvent(new MouseEventArgs
source.RaiseEvent(new PointerEventArgs
{
RoutedEvent = Control.MouseLeftButtonUpEvent,
RoutedEvent = Control.PointerReleasedEvent,
OriginalSource = source,
Source = source,
});

4
Perspex/Controls/Button.cs

@ -12,12 +12,12 @@ namespace Perspex.Controls
{
public Button()
{
this.GetObservable(MouseLeftButtonDownEvent).Subscribe(e =>
this.GetObservable(PointerPressedEvent).Subscribe(e =>
{
this.Classes.Add(":pressed");
});
this.GetObservable(MouseLeftButtonUpEvent).Subscribe(e =>
this.GetObservable(PointerReleasedEvent).Subscribe(e =>
{
this.Classes.Remove(":pressed");
});

36
Perspex/Controls/Control.cs

@ -50,8 +50,8 @@ namespace Perspex.Controls
public static readonly PerspexProperty<double> HeightProperty =
PerspexProperty.Register<Control, double>("Height", double.NaN);
public static readonly PerspexProperty<bool> IsMouseOverProperty =
PerspexProperty.Register<Control, bool>("IsMouseOver");
public static readonly PerspexProperty<bool> IsPointerOverProperty =
PerspexProperty.Register<Control, bool>("IsPointerOver");
public static readonly PerspexProperty<HorizontalAlignment> HorizontalAlignmentProperty =
PerspexProperty.Register<Control, HorizontalAlignment>("HorizontalAlignment");
@ -80,11 +80,11 @@ namespace Perspex.Controls
public static readonly PerspexProperty<double> WidthProperty =
PerspexProperty.Register<Control, double>("Width", double.NaN);
public static readonly RoutedEvent<MouseEventArgs> MouseLeftButtonDownEvent =
RoutedEvent.Register<Control, MouseEventArgs>("MouseLeftButtonDown", RoutingStrategy.Bubble);
public static readonly RoutedEvent<PointerEventArgs> PointerPressedEvent =
RoutedEvent.Register<Control, PointerEventArgs>("PointerPressed", RoutingStrategy.Bubble);
public static readonly RoutedEvent<MouseEventArgs> MouseLeftButtonUpEvent =
RoutedEvent.Register<Control, MouseEventArgs>("MouseLeftButtonUp", RoutingStrategy.Bubble);
public static readonly RoutedEvent<PointerEventArgs> PointerReleasedEvent =
RoutedEvent.Register<Control, PointerEventArgs>("PointerReleased", RoutingStrategy.Bubble);
internal static readonly PerspexProperty<Control> ParentPropertyRW =
PerspexProperty.Register<Control, Control>("Parent");
@ -99,15 +99,15 @@ namespace Perspex.Controls
{
this.classes = new Classes();
this.GetObservable(IsMouseOverProperty).Subscribe(x =>
this.GetObservable(IsPointerOverProperty).Subscribe(x =>
{
if (x)
{
this.Classes.Add(":mouseover");
this.Classes.Add(":pointerover");
}
else
{
this.Classes.Remove(":mouseover");
this.Classes.Remove(":pointerover");
}
});
@ -115,32 +115,32 @@ namespace Perspex.Controls
this.GetObservable(BackgroundProperty).Skip(1).Subscribe(_ => this.InvalidateMeasure());
}
public event EventHandler<MouseEventArgs> MouseLeftButtonDown
public event EventHandler<PointerEventArgs> PointerPressed
{
add
{
Contract.Requires<NullReferenceException>(value != null);
this.AddHandler(MouseLeftButtonDownEvent, value);
this.AddHandler(PointerPressedEvent, value);
}
remove
{
Contract.Requires<NullReferenceException>(value != null);
this.RemoveHandler(MouseLeftButtonDownEvent, value);
this.RemoveHandler(PointerPressedEvent, value);
}
}
public event EventHandler<MouseEventArgs> MouseLeftButtonUp
public event EventHandler<PointerEventArgs> PointerReleased
{
add
{
Contract.Requires<NullReferenceException>(value != null);
this.AddHandler(MouseLeftButtonUpEvent, value);
this.AddHandler(PointerReleasedEvent, value);
}
remove
{
Contract.Requires<NullReferenceException>(value != null);
this.RemoveHandler(MouseLeftButtonUpEvent, value);
this.RemoveHandler(PointerReleasedEvent, value);
}
}
@ -220,10 +220,10 @@ namespace Perspex.Controls
set { this.SetValue(HeightProperty, value); }
}
public bool IsMouseOver
public bool IsPointerOver
{
get { return this.GetValue(IsMouseOverProperty); }
set { this.SetValue(IsMouseOverProperty, value); }
get { return this.GetValue(IsPointerOverProperty); }
set { this.SetValue(IsPointerOverProperty, value); }
}
public HorizontalAlignment HorizontalAlignment

4
Perspex/Input/MouseEventArgs.cs → Perspex/Input/PointerEventArgs.cs

@ -1,5 +1,5 @@
// -----------------------------------------------------------------------
// <copyright file="MouseEventArgs.cs" company="Steven Kirk">
// <copyright file="PointerEventArgs.cs" company="Steven Kirk">
// Copyright 2013 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
@ -8,7 +8,7 @@ namespace Perspex.Input
{
using System;
public class MouseEventArgs : RoutedEventArgs
public class PointerEventArgs : RoutedEventArgs
{
}
}

2
Perspex/Perspex.csproj

@ -86,7 +86,7 @@
<Compile Include="Controls\ITemplatedControl.cs" />
<Compile Include="Controls\TextBlock.cs" />
<Compile Include="ILogical.cs" />
<Compile Include="Input\MouseEventArgs.cs" />
<Compile Include="Input\PointerEventArgs.cs" />
<Compile Include="Interactive.cs" />
<Compile Include="IObservableDescription.cs" />
<Compile Include="IVisual.cs" />

2
Perspex/PerspexObject.cs

@ -30,7 +30,7 @@ namespace Perspex
/// A style trigger is a selector such as .class which overrides a
/// <see cref="TemplatedParent"/> binding. In this way, a basic control can have
/// for example a Background from the templated parent which changes when the
/// control has the :mouseover class.
/// control has the :pointerover class.
/// </remarks>
StyleTrigger,

2
Perspex/Themes/Default/ButtonStyle.cs

@ -32,7 +32,7 @@ namespace Perspex.Themes.Default
new Setter(Button.ForegroundProperty, new SolidColorBrush(0xff000000)),
},
},
new Style(x => x.OfType<Button>().Class(":mouseover").Template().Id("border"))
new Style(x => x.OfType<Button>().Class(":pointerover").Template().Id("border"))
{
Setters = new[]
{

2
TestApplication/Program.cs

@ -73,8 +73,6 @@ namespace TestApplication
}
};
var m = window.GetVisual(x => x.OfType<Button>().Template().Id("border"));
window.Show();
Dispatcher.Run();
}

Loading…
Cancel
Save