Browse Source

Removed AdornerTemplate.

Use ITemplate<IControl>.
pull/83/head
Steven Kirk 11 years ago
parent
commit
e320148952
  1. 27
      src/Perspex.Controls/AdornerTemplate.cs
  2. 10
      src/Perspex.Controls/Control.cs
  3. 2
      src/Perspex.Controls/IContentControl.cs
  4. 3
      src/Perspex.Controls/Perspex.Controls.csproj
  5. 4
      src/Perspex.Controls/Presenters/ItemsPresenter.cs
  6. 2
      src/Perspex.Controls/Primitives/SelectingItemsControl.cs
  7. 2
      src/Perspex.Controls/TreeView.cs
  8. 2
      src/Perspex.Themes.Default/ButtonStyle.cs
  9. 2
      src/Perspex.Themes.Default/DropDownStyle.cs
  10. 3
      src/Perspex.Themes.Default/FocusAdornerStyle.cs
  11. 2
      src/Perspex.Themes.Default/ToggleButtonStyle.cs

27
src/Perspex.Controls/AdornerTemplate.cs

@ -1,27 +0,0 @@
// -----------------------------------------------------------------------
// <copyright file="AdornerTemplate.cs" company="Steven Kirk">
// Copyright 2014 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Controls
{
using System;
public class AdornerTemplate
{
private Func<Control> build;
public AdornerTemplate(Func<Control> build)
{
Contract.Requires<NullReferenceException>(build != null);
this.build = build;
}
public Control Build()
{
return this.build();
}
}
}

10
src/Perspex.Controls/Control.cs

@ -43,8 +43,8 @@ namespace Perspex.Controls
/// <summary>
/// Defines the <see cref="FocusAdorner"/> property.
/// </summary>
public static readonly PerspexProperty<AdornerTemplate> FocusAdornerProperty =
PerspexProperty.Register<Control, AdornerTemplate>(nameof(FocusAdorner));
public static readonly PerspexProperty<ITemplate<IControl>> FocusAdornerProperty =
PerspexProperty.Register<Control, ITemplate<IControl>>(nameof(FocusAdorner));
/// <summary>
/// Defines the <see cref="Parent"/> property.
@ -74,7 +74,7 @@ namespace Perspex.Controls
private DataTemplates dataTemplates;
private Control focusAdorner;
private IControl focusAdorner;
private string id;
@ -141,7 +141,7 @@ namespace Perspex.Controls
/// <summary>
/// Gets or sets the control's focus adorner.
/// </summary>
public AdornerTemplate FocusAdorner
public ITemplate<IControl> FocusAdorner
{
get { return this.GetValue(FocusAdornerProperty); }
set { this.SetValue(FocusAdornerProperty, value); }
@ -375,7 +375,7 @@ namespace Perspex.Controls
if (this.focusAdorner != null)
{
AdornerLayer.SetAdornedElement(this.focusAdorner, this);
AdornerLayer.SetAdornedElement((Visual)this.focusAdorner, this);
adornerLayer.Children.Add(this.focusAdorner);
}
}

2
src/Perspex.Controls/IContentControl.cs

@ -1,4 +1,4 @@
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
// <copyright file="IContentControl.cs" company="Steven Kirk">
// Copyright 2014 MIT Licence. See licence.md for more information.
// </copyright>

3
src/Perspex.Controls/Perspex.Controls.csproj

@ -43,6 +43,7 @@
</Compile>
<Compile Include="Generators\ITreeItemContainerGenerator.cs" />
<Compile Include="Generators\ItemContainers.cs" />
<Compile Include="IContentControl.cs" />
<Compile Include="IControl.cs" />
<Compile Include="IPanel.cs" />
<Compile Include="IReparentingHost.cs" />
@ -57,9 +58,7 @@
<Compile Include="MenuItem.cs" />
<Compile Include="Menu.cs" />
<Compile Include="Button.cs" />
<Compile Include="AdornerTemplate.cs" />
<Compile Include="DropDown.cs" />
<Compile Include="IContentControl.cs" />
<Compile Include="IReparentingControl.cs" />
<Compile Include="Deck.cs" />
<Compile Include="Platform\IPopupImpl.cs" />

4
src/Perspex.Controls/Presenters/ItemsPresenter.cs

@ -144,7 +144,7 @@ namespace Perspex.Controls.Presenters
if (!this.Panel.IsSet(KeyboardNavigation.DirectionalNavigationProperty))
{
KeyboardNavigation.SetDirectionalNavigation(
(InputElement)this.Panel,
(InputElement)this.Panel,
KeyboardNavigationMode.Contained);
}
@ -160,7 +160,7 @@ namespace Perspex.Controls.Presenters
}
KeyboardNavigation.SetTabNavigation(
(InputElement)this.Panel,
(InputElement)this.Panel,
KeyboardNavigation.GetTabNavigation(this));
this.createdPanel = true;
this.CreateItemsAndListenForChanges(this.Items);

2
src/Perspex.Controls/Primitives/SelectingItemsControl.cs

@ -326,7 +326,7 @@ namespace Perspex.Controls.Primitives
if (inputElement != null && this.Presenter != null && this.Presenter.Panel != null)
{
KeyboardNavigation.SetTabOnceActiveElement(
(InputElement)this.Presenter.Panel,
(InputElement)this.Presenter.Panel,
inputElement);
}
}

2
src/Perspex.Controls/TreeView.cs

@ -70,7 +70,7 @@ namespace Perspex.Controls
if (this.Presenter != null && this.Presenter.Panel != null)
{
KeyboardNavigation.SetTabOnceActiveElement(
(InputElement)this.Presenter.Panel,
(InputElement)this.Presenter.Panel,
selectedContainer);
}

2
src/Perspex.Themes.Default/ButtonStyle.cs

@ -26,7 +26,7 @@ namespace Perspex.Themes.Default
{
Setters = new[]
{
new Setter(Button.FocusAdornerProperty, new AdornerTemplate(FocusAdornerTemplate)),
new Setter(Button.FocusAdornerProperty, new FuncTemplate<IControl>(FocusAdornerTemplate)),
new Setter(Button.TemplateProperty, new ControlTemplate<Button>(this.Template)),
new Setter(Button.HorizontalContentAlignmentProperty, HorizontalAlignment.Center),
new Setter(Button.VerticalContentAlignmentProperty, VerticalAlignment.Center),

2
src/Perspex.Themes.Default/DropDownStyle.cs

@ -31,7 +31,7 @@ namespace Perspex.Themes.Default
new Setter(DropDown.TemplateProperty, new ControlTemplate<DropDown>(this.Template)),
new Setter(DropDown.BorderBrushProperty, new SolidColorBrush(0xff707070)),
new Setter(DropDown.BorderThicknessProperty, 2.0),
new Setter(DropDown.FocusAdornerProperty, new AdornerTemplate(FocusAdornerTemplate)),
new Setter(DropDown.FocusAdornerProperty, new FuncTemplate<IControl>(FocusAdornerTemplate)),
new Setter(DropDown.HorizontalContentAlignmentProperty, HorizontalAlignment.Center),
new Setter(DropDown.VerticalContentAlignmentProperty, VerticalAlignment.Center),
},

3
src/Perspex.Themes.Default/FocusAdornerStyle.cs

@ -9,6 +9,7 @@ namespace Perspex.Themes.Default
using Perspex.Collections;
using Perspex.Controls;
using Perspex.Controls.Shapes;
using Perspex.Controls.Templates;
using Perspex.Media;
using Perspex.Styling;
@ -22,7 +23,7 @@ namespace Perspex.Themes.Default
{
Setters = new[]
{
new Setter(Control.FocusAdornerProperty, new AdornerTemplate(this.Template)),
new Setter(Control.FocusAdornerProperty, new FuncTemplate<IControl>(this.Template)),
},
},
});

2
src/Perspex.Themes.Default/ToggleButtonStyle.cs

@ -29,7 +29,7 @@ namespace Perspex.Themes.Default
new Setter(ToggleButton.BackgroundProperty, new SolidColorBrush(0xffdddddd)),
new Setter(ToggleButton.BorderBrushProperty, new SolidColorBrush(0xff707070)),
new Setter(ToggleButton.BorderThicknessProperty, 2.0),
new Setter(ToggleButton.FocusAdornerProperty, new AdornerTemplate(ButtonStyle.FocusAdornerTemplate)),
new Setter(ToggleButton.FocusAdornerProperty, new FuncTemplate<IControl>(ButtonStyle.FocusAdornerTemplate)),
new Setter(ToggleButton.ForegroundProperty, new SolidColorBrush(0xff000000)),
new Setter(ToggleButton.HorizontalContentAlignmentProperty, HorizontalAlignment.Center),
new Setter(ToggleButton.VerticalContentAlignmentProperty, VerticalAlignment.Center),

Loading…
Cancel
Save