blob: d0a32f209d4210374d31e4bc8b3c22c26be5e609 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tango.Editors
{
/// <summary>
/// Represents a component that exposes some of it's properties as an observable collection of <see cref="ParameterItem"/> which can be bound to UI controls.
/// <para>
/// Use the <see cref="T:WpfVideoTools.Editors.ParameterizedEditor"/> to automatically display and edit the collection of parameters.
/// </para>
/// <para>
/// See
/// </para>
/// <list type="bullet">
/// <item><see cref="T:WpfVideoTools.Editors.ParameterizedEditor"/></item>
/// <item><see cref="T:WpfVideoTools.Editors.IParameterItemEditor"/></item>
/// </list>
/// </summary>
/// <example>
/// <para class="example-title">
/// <img class="exampleIcon" src="../Icons/CodeExample.png" />
/// <i>
/// The following example demonstrates how to implement the IParameterized interface, implement a custom parameter editor and use the ParameterizedEditor to display/edit the object.
/// </i>
/// </para>
/// <para><img class="exampleImage" src="../Media/ParameterizedEditorExample.png" /></para>
/// <i>Implement IParameterized.</i>
/// <code lang="C#" source="../FullAPIExamples/Examples/Core/IParameterizedExample.cs" title="Implement IParameterized interface." />
/// <i>Custom editor.</i>
/// <code lang="XAML" source="../FullAPIExamples/Examples/Core/CustomEditor.xaml" title="Implement custom editor." />
/// <i>Custom editor code behind.</i>
/// <code lang="C#" source="../FullAPIExamples/Examples/Core/CustomEditor.xaml.cs" title="Implement custom editor." />
/// <i>Use the ParameterizedEditor to display the parameterized object.</i>
/// <code lang="XAML" source="../FullAPIExamples/Examples/Core/ParameterizedEditorExample.xaml" title="Use ParameterizedEditor." />
/// <i>Code-Behind.</i>
/// <code lang="C#" source="../FullAPIExamples/Examples/Core/ParameterizedEditorExample.xaml.cs" title="Use ParameterizedEditor." />
/// </example>
/// <seealso cref="T:WpfVideoTools.Editors.ParameterizedEditor" />
/// <seealso cref="T:WpfVideoTools.Editors.IParameterItemEditor" />
public interface IParameterized
{
/// <summary>
/// Gets a bind-able observable collection of the component properties.
/// </summary>
[ParameterIgnore]
ReadOnlyObservableCollection<ParameterItem> Parameters { get; set; }
}
}
|