Maze / Library /PackageCache /com.unity.testtools.codecoverage@1.2.3 /Editor /CoverageWindow /PathToAddDropDownMenu.cs
| using UnityEditor.TestTools.CodeCoverage.Analytics; | |
| using UnityEngine; | |
| namespace UnityEditor.TestTools.CodeCoverage | |
| { | |
| internal class PathToAddDropDownMenu | |
| { | |
| GenericMenu m_Menu; | |
| string m_PathsToFilter; | |
| readonly PathToAddHandler m_AddPathToIncludeHandler; | |
| readonly PathToAddHandler m_AddPathToExcludeHandler; | |
| readonly PathFilterType m_PathFilterType; | |
| static class Styles | |
| { | |
| public static readonly GUIContent AddFolderLabel = EditorGUIUtility.TrTextContent("Add Folder"); | |
| public static readonly GUIContent AddFileLabel = EditorGUIUtility.TrTextContent("Add File"); | |
| } | |
| public PathToAddDropDownMenu(CodeCoverageWindow parent, PathFilterType type) | |
| { | |
| m_PathFilterType = type; | |
| m_AddPathToIncludeHandler = new PathToAddHandler(parent, PathFilterType.Include); | |
| m_AddPathToExcludeHandler = new PathToAddHandler(parent, PathFilterType.Exclude); | |
| } | |
| private void PopulateMenu() | |
| { | |
| m_Menu = new GenericMenu(); | |
| m_Menu.AddItem(Styles.AddFolderLabel, false, () => AddFolder()); | |
| m_Menu.AddItem(Styles.AddFileLabel, false, () => AddFile()); | |
| } | |
| public void Show(Rect position, string pathsToFilter) | |
| { | |
| m_PathsToFilter = pathsToFilter; | |
| PopulateMenu(); | |
| m_Menu.DropDown(position); | |
| } | |
| private void AddFolder() | |
| { | |
| if (m_PathFilterType == PathFilterType.Include) | |
| { | |
| CoverageAnalytics.instance.CurrentCoverageEvent.selectAddFolder_IncludedPaths = true; | |
| m_AddPathToIncludeHandler.BrowseForDir(m_PathsToFilter); | |
| } | |
| else | |
| { | |
| CoverageAnalytics.instance.CurrentCoverageEvent.selectAddFolder_ExcludedPaths = true; | |
| m_AddPathToExcludeHandler.BrowseForDir(m_PathsToFilter); | |
| } | |
| } | |
| private void AddFile() | |
| { | |
| if (m_PathFilterType == PathFilterType.Include) | |
| { | |
| CoverageAnalytics.instance.CurrentCoverageEvent.selectAddFile_IncludedPaths = true; | |
| m_AddPathToIncludeHandler.BrowseForFile(m_PathsToFilter); | |
| } | |
| else | |
| { | |
| CoverageAnalytics.instance.CurrentCoverageEvent.selectAddFile_ExcludedPaths = true; | |
| m_AddPathToExcludeHandler.BrowseForFile(m_PathsToFilter); | |
| } | |
| } | |
| } | |
| } | |