Repository navigation
Expand file tree
/
Copy pathIProfileHostViewModel.cs
More file actions
83 lines (68 loc) · 2.48 KB
/
Copy pathIProfileHostViewModel.cs
File metadata and controls
83 lines (68 loc) · 2.48 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using NETworkManager.Controls;
using System.ComponentModel;
using System.Windows.Input;
namespace NETworkManager.Profiles;
/// <summary>
/// Interface for a view model that hosts the shared profile panel (search, tag filter, group list) next to a
/// tool-specific view, extending <see cref="IProfileManager" /> with the additional members the reusable
/// profile panel control binds to.
/// </summary>
public interface IProfileHostViewModel : IProfileManager
{
/// <summary>
/// Gets or sets the selected profile.
/// </summary>
ProfileInfo SelectedProfile { get; set; }
/// <summary>
/// Gets or sets the search text.
/// </summary>
string Search { get; set; }
/// <summary>
/// Gets or sets a value indicating whether a search is in progress.
/// </summary>
bool IsSearching { get; set; }
/// <summary>
/// Gets or sets a value indicating whether the profile filter popup is open.
/// </summary>
bool ProfileFilterIsOpen { get; set; }
/// <summary>
/// Gets the view for the profile filter tags.
/// </summary>
ICollectionView ProfileFilterTagsView { get; }
/// <summary>
/// Gets or sets a value indicating whether to match any profile filter tag.
/// </summary>
bool ProfileFilterTagsMatchAny { get; set; }
/// <summary>
/// Gets or sets a value indicating whether to match all profile filter tags.
/// </summary>
bool ProfileFilterTagsMatchAll { get; set; }
/// <summary>
/// Gets or sets a value indicating whether a profile filter is currently applied.
/// </summary>
bool IsProfileFilterSet { get; set; }
/// <summary>
/// Gets the group expander state store for the profile list.
/// </summary>
GroupExpanderStateStore GroupExpanderStateStore { get; }
/// <summary>
/// Gets the command to open the profile filter popup.
/// </summary>
ICommand OpenProfileFilterCommand { get; }
/// <summary>
/// Gets the command to apply the profile filter.
/// </summary>
ICommand ApplyProfileFilterCommand { get; }
/// <summary>
/// Gets the command to clear the profile filter.
/// </summary>
ICommand ClearProfileFilterCommand { get; }
/// <summary>
/// Gets the command to expand all profile groups.
/// </summary>
ICommand ExpandAllProfileGroupsCommand { get; }
/// <summary>
/// Gets the command to collapse all profile groups.
/// </summary>
ICommand CollapseAllProfileGroupsCommand { get; }
}