Browse Source

Documentation.

pull/3636/head
Steven Kirk 6 years ago
parent
commit
3609759f4e
  1. 4
      src/Avalonia.Styling/Styling/Activators/AndActivator.cs
  2. 7
      src/Avalonia.Styling/Styling/Activators/AndActivatorBuilder.cs
  3. 3
      src/Avalonia.Styling/Styling/Activators/NotActivator.cs
  4. 4
      src/Avalonia.Styling/Styling/Activators/OrActivator.cs
  5. 7
      src/Avalonia.Styling/Styling/Activators/OrActivatorBuilder.cs
  6. 3
      src/Avalonia.Styling/Styling/Activators/PropertyEqualsActivator.cs
  7. 3
      src/Avalonia.Styling/Styling/Activators/StyleActivatorBase.cs
  8. 4
      src/Avalonia.Styling/Styling/Activators/StyleClassActivator.cs
  9. 5
      src/Avalonia.Styling/Styling/PropertySetterBindingInstance.cs
  10. 4
      src/Avalonia.Styling/Styling/PropertySetterInstance.cs
  11. 2
      src/Avalonia.Styling/Styling/Selector.cs
  12. 3
      src/Avalonia.Styling/Styling/StyleInstance.cs

4
src/Avalonia.Styling/Styling/Activators/AndActivator.cs

@ -4,6 +4,10 @@ using System.Collections.Generic;
namespace Avalonia.Styling.Activators
{
/// <summary>
/// An aggregate <see cref="IStyleActivator"/> which is active when all of its inputs are
/// active.
/// </summary>
internal class AndActivator : StyleActivatorBase, IStyleActivatorSink
{
private List<IStyleActivator>? _sources;

7
src/Avalonia.Styling/Styling/Activators/AndActivatorBuilder.cs

@ -2,6 +2,13 @@
namespace Avalonia.Styling.Activators
{
/// <summary>
/// Builds an <see cref="AndActivator"/>.
/// </summary>
/// <remarks>
/// When ANDing style activators, if there is more than one input then creates an instance of
/// <see cref="AndActivator"/>. If there is only one input, returns the input directly.
/// </remarks>
internal struct AndActivatorBuilder
{
private IStyleActivator? _single;

3
src/Avalonia.Styling/Styling/Activators/NotActivator.cs

@ -2,6 +2,9 @@
namespace Avalonia.Styling.Activators
{
/// <summary>
/// An <see cref="IStyleActivator"/> which inverts the state of an input activator.
/// </summary>
internal class NotActivator : StyleActivatorBase, IStyleActivatorSink
{
private readonly IStyleActivator _source;

4
src/Avalonia.Styling/Styling/Activators/OrActivator.cs

@ -4,6 +4,10 @@ using System.Collections.Generic;
namespace Avalonia.Styling.Activators
{
/// <summary>
/// An aggregate <see cref="IStyleActivator"/> which is active when any of its inputs are
/// active.
/// </summary>
internal class OrActivator : StyleActivatorBase, IStyleActivatorSink
{
private List<IStyleActivator>? _sources;

7
src/Avalonia.Styling/Styling/Activators/OrActivatorBuilder.cs

@ -2,6 +2,13 @@
namespace Avalonia.Styling.Activators
{
/// <summary>
/// Builds an <see cref="OrActivator"/>.
/// </summary>
/// <remarks>
/// When ORing style activators, if there is more than one input then creates an instance of
/// <see cref="OrActivator"/>. If there is only one input, returns the input directly.
/// </remarks>
internal struct OrActivatorBuilder
{
private IStyleActivator? _single;

3
src/Avalonia.Styling/Styling/Activators/PropertyEqualsActivator.cs

@ -4,6 +4,9 @@
namespace Avalonia.Styling.Activators
{
/// <summary>
/// An <see cref="IStyleActivator"/> which listens to a property value on a control.
/// </summary>
internal class PropertyEqualsActivator : StyleActivatorBase, IObserver<object>
{
private readonly IStyleable _control;

3
src/Avalonia.Styling/Styling/Activators/StyleActivatorBase.cs

@ -2,6 +2,9 @@
namespace Avalonia.Styling.Activators
{
/// <summary>
/// Base class implementation of <see cref="IStyleActivator"/>.
/// </summary>
internal abstract class StyleActivatorBase : IStyleActivator
{
private IStyleActivatorSink? _sink;

4
src/Avalonia.Styling/Styling/Activators/StyleClassActivator.cs

@ -6,6 +6,10 @@ using Avalonia.Collections;
namespace Avalonia.Styling.Activators
{
/// <summary>
/// An <see cref="IStyleActivator"/> which is active when a set of classes match those on a
/// control.
/// </summary>
internal sealed class StyleClassActivator : StyleActivatorBase
{
private readonly IList<string> _match;

5
src/Avalonia.Styling/Styling/PropertySetterBindingInstance.cs

@ -7,6 +7,11 @@ using Avalonia.Reactive;
namespace Avalonia.Styling
{
/// <summary>
/// A <see cref="Setter"/> which has been instanced on a control and has an
/// <see cref="IBinding"/> as its value.
/// </summary>
/// <typeparam name="T">The target property type.</typeparam>
internal class PropertySetterBindingInstance<T> : SingleSubscriberObservableBase<BindingValue<T>>,
ISubject<BindingValue<T>>,
ISetterInstance

4
src/Avalonia.Styling/Styling/PropertySetterInstance.cs

@ -6,6 +6,10 @@ using Avalonia.Reactive;
namespace Avalonia.Styling
{
/// <summary>
/// A <see cref="Setter"/> which has been instance on a control.
/// </summary>
/// <typeparam name="T">The target property type.</typeparam>
internal class PropertySetterInstance<T> : SingleSubscriberObservableBase<BindingValue<T>>,
ISetterInstance
{

2
src/Avalonia.Styling/Styling/Selector.cs

@ -110,7 +110,7 @@ namespace Avalonia.Styling
// Selectors are stored from right-to-left, so we recurse into the selector in order to
// reverse this order, because the type selector will be on the left and is our best
// oppurtunity exit early.
// opportunity to exit early.
if (previous != null && !previous.IsCombinator)
{
var previousMatch = Match(control, previous, subscribe, ref activators, ref combinator);

3
src/Avalonia.Styling/Styling/StyleInstance.cs

@ -8,6 +8,9 @@ using Avalonia.Styling.Activators;
namespace Avalonia.Styling
{
/// <summary>
/// A <see cref="Style"/> which has been instanced on a control.
/// </summary>
internal class StyleInstance : IStyleInstance, IStyleActivatorSink
{
private readonly List<ISetterInstance>? _setters;

Loading…
Cancel
Save