A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2using System.Linq;
3
4using Codice.CM.Common;
5using Unity.PlasticSCM.Editor.UI.Tree;
6
7namespace Unity.PlasticSCM.Editor.Views.Branches
8{
9 internal static class BranchesSelection
10 {
11 internal static void SelectBranches(
12 BranchesListView listView,
13 List<RepObjectInfo> branchesToSelect,
14 int defaultRow)
15 {
16 if (branchesToSelect == null || branchesToSelect.Count == 0)
17 {
18 TableViewOperations.SelectFirstRow(listView);
19 return;
20 }
21
22 listView.SelectRepObjectInfos(branchesToSelect);
23
24 if (listView.HasSelection())
25 return;
26
27 TableViewOperations.SelectDefaultRow(listView, defaultRow);
28
29 if (listView.HasSelection())
30 return;
31
32 TableViewOperations.SelectFirstRow(listView);
33 }
34
35 internal static List<RepObjectInfo> GetSelectedRepObjectInfos(
36 BranchesListView listView)
37 {
38 return listView.GetSelectedRepObjectInfos();
39 }
40
41 internal static int GetSelectedBranchesCount(
42 BranchesListView listView)
43 {
44 return listView.GetSelection().Count;
45 }
46
47 internal static BranchInfo GetSelectedBranch(
48 BranchesListView listView)
49 {
50 List<RepObjectInfo> selectedRepObjectsInfos = listView.GetSelectedRepObjectInfos();
51
52 if (selectedRepObjectsInfos.Count == 0)
53 return null;
54
55 return (BranchInfo)selectedRepObjectsInfos[0];
56 }
57
58 internal static List<BranchInfo> GetSelectedBranches(
59 BranchesListView listView)
60 {
61 return listView.GetSelectedRepObjectInfos().Cast<BranchInfo>().ToList();
62 }
63
64 internal static RepositorySpec GetSelectedRepository(
65 BranchesListView listView)
66 {
67 List<RepositorySpec> selectedRepositories = listView.GetSelectedRepositories();
68
69 if (selectedRepositories.Count == 0)
70 return null;
71
72 return selectedRepositories[0];
73 }
74
75 internal static List<RepositorySpec> GetSelectedRepositories(
76 BranchesListView listView)
77 {
78 return listView.GetSelectedRepositories();
79 }
80 }
81}