void DoActionsToolbar( List <ClientDiff> diffs, ProgressControlsForViews progressControls, bool isSkipMergeTrackingButtonVisible, bool isSkipMergeTrackingButtonChecked, SearchField searchField, DiffTreeView diffTreeView) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); if (isSkipMergeTrackingButtonVisible) { DoSkipMergeTrackingButton( diffs, isSkipMergeTrackingButtonChecked, diffTreeView); } DrawSearchField.For( searchField, diffTreeView, UnityConstants.SEARCH_FIELD_WIDTH); VerifyIfSearchFieldIsRecentlyFocused(searchField); EditorGUILayout.EndHorizontal(); }
void DoSkipMergeTrackingButton( List <ClientDiff> diffs, bool isSkipMergeTrackingButtonChecked, DiffTreeView diffTreeView) { bool wasChecked = isSkipMergeTrackingButtonChecked; GUIContent buttonContent = new GUIContent( PlasticLocalization.GetString( PlasticLocalization.Name.SkipDiffMergeTracking)); GUIStyle buttonStyle = EditorStyles.toolbarButton; float buttonWidth = buttonStyle.CalcSize(buttonContent).x + 10; Rect toggleRect = GUILayoutUtility.GetRect( buttonContent, buttonStyle, GUILayout.Width(buttonWidth)); bool isChecked = GUI.Toggle( toggleRect, wasChecked, buttonContent, buttonStyle); if (wasChecked == isChecked) { return; } UpdateDiffTreeView(diffs, isChecked, diffTreeView); mIsSkipMergeTrackingButtonChecked = isChecked; }
static void ClearDiffTreeView( DiffTreeView diffTreeView) { diffTreeView.ClearModel(); diffTreeView.Reload(); }
void BuildComponents() { mSearchField = new SearchField(); mSearchField.downOrUpArrowKeyPressed += SearchField_OnDownOrUpArrowKeyPressed; mDiffTreeView = new DiffTreeView(new DiffTreeViewMenu(this, this)); mDiffTreeView.Reload(); }
internal static ClientDiffInfo GetSelectedDiff( DiffTreeView treeView) { if (!treeView.HasSelection()) { return(null); } return(treeView.GetSelectedDiffs(false)[0]); }
static void DoDiffTreeViewArea( DiffTreeView diffTreeView, bool isOperationRunning) { GUI.enabled = !isOperationRunning; Rect rect = GUILayoutUtility.GetRect(0, 100000, 0, 100000); diffTreeView.OnGUI(rect); GUI.enabled = true; }
static void UpdateDiffTreeView( List <ClientDiff> diffs, bool skipMergeTracking, DiffTreeView diffTreeView) { diffTreeView.BuildModel( diffs, skipMergeTracking); diffTreeView.Refilter(); diffTreeView.Sort(); diffTreeView.Reload(); }
void DoSkipMergeTrackingButton( List <ClientDiff> diffs, bool isSkipMergeTrackingButtonChecked, DiffTreeView diffTreeView) { bool wasChecked = isSkipMergeTrackingButtonChecked; GUIContent buttonContent = new GUIContent( PlasticLocalization.GetString( PlasticLocalization.Name.SkipDiffMergeTracking)); GUIStyle buttonStyle = new GUIStyle(EditorStyles.toolbarButton); float buttonWidth = buttonStyle.CalcSize(buttonContent).x + 10; Rect toggleRect = GUILayoutUtility.GetRect( buttonContent, buttonStyle, GUILayout.Width(buttonWidth)); bool isChecked = GUI.Toggle( toggleRect, wasChecked, buttonContent, buttonStyle); if (wasChecked == isChecked) { return; } // if user just checked the skip merge tracking button if (isChecked) { TrackFeatureUseEvent.For( PlasticGui.Plastic.API.GetRepositorySpec(mWkInfo), TrackFeatureUseEvent.Features.ChangesetViewSkipMergeTrackingButton); } UpdateDiffTreeView(diffs, isChecked, diffTreeView); mIsSkipMergeTrackingButtonChecked = isChecked; }
internal static List <ClientDiffInfo> GetSelectedDiffs( DiffTreeView treeView) { return(treeView.GetSelectedDiffs(true)); }
internal static List <ClientDiffInfo> GetSelectedDiffsWithoutMeta( DiffTreeView treeView) { return(treeView.GetSelectedDiffs(false)); }