void DoActionsToolbar( bool isProcessMergesButtonVisible, bool isCancelMergesButtonVisible, bool isProcessMergesButtonEnabled, bool isCancelMergesButtonEnabled, string processMergesButtonText, bool hasPendingDirectoryConflictsCount, bool isOperationRunning, IWorkspaceWindow workspaceWindow, MergeViewLogic mergeViewLogic, ProgressControlsForViews.Data progressData) { GUIStyle guiStyle = new GUIStyle(); guiStyle.margin = new RectOffset(5, 5, 5, 5); EditorGUILayout.BeginHorizontal(guiStyle); if (isProcessMergesButtonVisible) { DoProcessMergesButton( isProcessMergesButtonEnabled && !hasPendingDirectoryConflictsCount, processMergesButtonText, mSwitcher, workspaceWindow, mGuiMessage, mergeViewLogic); } if (isCancelMergesButtonVisible) { DoCancelMergesButton( isCancelMergesButtonEnabled, mergeViewLogic); } if (hasPendingDirectoryConflictsCount) { GUILayout.Space(5); DoWarningMessage(); } if (isOperationRunning) { DrawProgressForViews.ForIndeterminateProgress( progressData); } GUILayout.FlexibleSpace(); DoRefreshButton( !isOperationRunning, mergeViewLogic); EditorGUILayout.EndHorizontal(); }
void DoActionsToolbar( bool isProcessMergesButtonVisible, bool isCancelMergesButtonVisible, bool isProcessMergesButtonEnabled, bool isCancelMergesButtonEnabled, string processMergesButtonText, bool hasPendingDirectoryConflictsCount, bool isOperationRunning, PlasticGUIClient plasticClient, MergeViewLogic mergeViewLogic, ProgressControlsForViews.Data progressData) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (isProcessMergesButtonVisible) { DoProcessMergesButton( isProcessMergesButtonEnabled && !hasPendingDirectoryConflictsCount, processMergesButtonText, mSwitcher, mPlasticClient, mGuiMessage, mergeViewLogic); } if (isCancelMergesButtonVisible) { DoCancelMergesButton( isCancelMergesButtonEnabled, mergeViewLogic); } if (hasPendingDirectoryConflictsCount) { GUILayout.Space(5); DoWarningMessage(); } if (isOperationRunning) { DrawProgressForViews.ForIndeterminateProgress( progressData); } GUILayout.FlexibleSpace(); DoRefreshButton( !isOperationRunning, plasticClient, mergeViewLogic); EditorGUILayout.EndHorizontal(); }
void DoActionsToolbar( IRefreshableView refreshableView, ProgressControlsForViews progressControls, SearchField searchField, ChangesetsListView changesetsListView, DateFilter dateFilter, string changesetsLabelText, float showChangesButtonWidth, bool wasChangesPanelVisible) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (!string.IsNullOrEmpty(changesetsLabelText)) { GUILayout.Label( changesetsLabelText, UnityStyles.ChangesetsTab.HeaderLabel); } if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); mIsChangesPanelVisible = DoShowChangesButton( showChangesButtonWidth, wasChangesPanelVisible); GUILayout.Space(2); DrawSearchField.For( searchField, changesetsListView, UnityConstants.SEARCH_FIELD_WIDTH); DoDateFilter( refreshableView, dateFilter, progressControls.IsOperationRunning()); DoRefreshButton( refreshableView, progressControls.IsOperationRunning()); EditorGUILayout.EndHorizontal(); }
static void DoNotificationArea( ProgressControlsForViews.Data downloadProgressData, ProgressControlsForViews.Data configureProgressData) { if (!string.IsNullOrEmpty(downloadProgressData.NotificationMessage)) { DrawProgressForViews.ForNotificationArea(downloadProgressData); } if (!string.IsNullOrEmpty(configureProgressData.NotificationMessage)) { DrawProgressForViews.ForNotificationArea(configureProgressData); } }
static void DoActionsToolbar( ProgressControlsForViews progressControls) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }
void IIncomingChangesTab.OnGUI() { if (Event.current.type == EventType.Layout) { mHasPendingDirectoryConflicts = MergeTreeResultParser.GetUnsolvedDirectoryConflictsCount(mResultConflicts) > 0; mIsOperationRunning = mProgressControls.IsOperationRunning(); } DoConflictsTree( mIncomingChangesTreeView, mIsOperationRunning, mHasNothingToDownload); List <MergeChangeInfo> selectedIncomingChanges = mIncomingChangesTreeView.GetSelectedIncomingChanges(); if (GetSelectedIncomingChangesGroupInfo.For( selectedIncomingChanges).IsDirectoryConflictsSelection&& !Mouse.IsRightMouseButtonPressed(Event.current)) { DoDirectoryConflictResolutionPanel( selectedIncomingChanges, new Action <MergeChangeInfo>(ResolveDirectoryConflict), mConflictResolutionStates); } DoActionsToolbar( mIsMessageLabelVisible, mHasNothingToDownload, mIsErrorMessageLabelVisible, mIsProcessMergesButtonVisible, mIsCancelMergesButtonVisible, mIsProcessMergesButtonEnabled, mIsCancelMergesButtonEnabled, mProcessMergesButtonText, mHasPendingDirectoryConflicts, mIsOperationRunning, mWorkspaceWindow, mMergeViewLogic, mProgressControls.ProgressData); if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } }
void IIncomingChangesTab.OnGUI() { DoActionsToolbar( mIsProcessMergesButtonVisible, mIsCancelMergesButtonVisible, mIsProcessMergesButtonEnabled, mIsCancelMergesButtonEnabled, mProcessMergesButtonText, mIncomingChangesViewLogic, mIncomingChangesTreeView, mProgressControls); bool splitterNeeded = mIsErrorsListVisible; if (splitterNeeded) { SplitterGUILayout.BeginVerticalSplit(mErrorsSplitterState); } DoIncomingChangesArea( mPlasticClient, mIncomingChangesTreeView, mPendingConflictsLabelData, mChangesToApplySummaryLabelText, mMessageLabelText, mIsMessageLabelVisible, mProgressControls.IsOperationRunning()); DoErrorsArea( mErrorsListView, mErrorDetailsSplitterState, mErrorMessageLabelText, mIsErrorsListVisible, mIsErrorMessageLabelVisible); if (splitterNeeded) { SplitterGUILayout.EndVerticalSplit(); } if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } }
void DoActionsToolbar( bool isProcessMergesButtonVisible, bool isCancelMergesButtonVisible, bool isProcessMergesButtonEnabled, bool isCancelMergesButtonEnabled, string processMergesButtonText, IncomingChangesViewLogic incomingChangesViewLogic, IncomingChangesTreeView incomingChangesTreeView, ProgressControlsForViews progressControls) { GUIStyle guiStyle = new GUIStyle(); guiStyle.margin = new RectOffset(5, 5, 5, 5); EditorGUILayout.BeginHorizontal(guiStyle); if (isProcessMergesButtonVisible) { DoProcessMergesButton( isProcessMergesButtonEnabled, processMergesButtonText, incomingChangesViewLogic, incomingChangesTreeView); } if (isCancelMergesButtonVisible) { DoCancelMergesButton( isCancelMergesButtonEnabled, incomingChangesViewLogic); } if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); DoRefreshButton( !progressControls.IsOperationRunning(), incomingChangesViewLogic); EditorGUILayout.EndHorizontal(); }
void DoActionsToolbar( WorkspaceInfo workspaceInfo, bool isGluonMode, IRefreshableView refreshableView, ProgressControlsForViews progressControls, EditorWindow editorWindow) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); string checkinHeader = string.Format( PlasticLocalization.GetString(PlasticLocalization.Name.CheckinHeader), mPendingChangesTreeView.GetSelectedItemCount(), mPendingChangesTreeView.GetTotalItemCount()); GUILayout.Label(checkinHeader, UnityStyles.PendingChangesTab.HeaderLabel); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); DrawSearchField.For( mSearchField, mPendingChangesTreeView, UnityConstants.SEARCH_FIELD_WIDTH); if (GUILayout.Button(PlasticLocalization.GetString( PlasticLocalization.Name.Options), EditorStyles.toolbarButton, GUILayout.Width(UnityConstants.REGULAR_BUTTON_WIDTH))) { PendingChangesOptionsDialog.ChangeOptions( workspaceInfo, refreshableView, this, editorWindow); GUIUtility.ExitGUI(); } DoRefreshButton( refreshableView, progressControls.IsOperationRunning()); EditorGUILayout.EndHorizontal(); }
void DoActionsToolbar( WorkspaceInfo workspaceInfo, bool isGluonMode, ProgressControlsForViews progressControls, EditorWindow editorWindow) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }
internal void OnGUI() { if (!string.IsNullOrEmpty(mGluonWarningMessage)) { DoWarningMessage(mGluonWarningMessage); } DoActionsToolbar( mWkInfo, mIsGluonMode, mProgressControls, mParentWindow); DoChangesArea( mWkInfo, mPendingChangesTreeView, mMergeViewLauncher, mGluonViewSwitcher, mProgressControls.IsOperationRunning(), mIsGluonMode, mIsCheckedInSuccessful, mNotificationStatus, mNotificationInfoText, mNotificationActionText); // Border Rect result = GUILayoutUtility.GetRect(mParentWindow.position.width, 1); EditorGUI.DrawRect(result, mBorderColor); DoCommentsSection(); if (HasPendingMergeLinks()) { DoMergeLinksArea(mMergeLinksListView, mParentWindow.position.width); } if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea(mProgressControls.ProgressData); } DrawHelpPanel.For(mHelpPanel); }
internal void OnGUI() { DrawCommentTextArea.For( mPlasticClient, mParentWindow.position.width, mProgressControls.IsOperationRunning()); DoOperationsToolbar( mPlasticClient, mWkInfo, mIsGluonMode, mAdvancedDropdownMenu, mProgressControls.IsOperationRunning()); if (!string.IsNullOrEmpty(mPlasticClient.GluonWarningMessage)) { DoWarningMessage(mPlasticClient.GluonWarningMessage); } DoActionsToolbar( mWkInfo, mIsGluonMode, this, mProgressControls, mParentWindow); DoChangesArea( mPendingChangesTreeView, mProgressControls.IsOperationRunning()); if (mPlasticClient.HasPendingMergeLinks()) { DoMergeLinksArea(mMergeLinksListView, mParentWindow.position.width); } if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } DrawHelpPanel.For(mHelpPanel); }
void DoActionsToolbar( IRefreshableView refreshableView, ProgressControlsForViews progressControls, SearchField searchField, ChangesetsListView changesetsListView, DateFilter dateFilter) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); GUILayout.Space(2); EditorGUILayout.EndHorizontal(); }
static void DoActionsToolbar( IRefreshableView refreshableView, ProgressControlsForViews progressControls, SearchField searchField, HistoryListView listView, string viewTitle) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); GUILayout.Label( viewTitle, UnityStyles.HistoryTab.HeaderLabel); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }
void DoActionsToolbar( List <ClientDiff> diffs, ProgressControlsForViews progressControls, string headerLabelText, bool isSkipMergeTrackingButtonVisible, bool isSkipMergeTrackingButtonChecked, SearchField searchField, DiffTreeView diffTreeView) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); GUILayout.Label(headerLabelText, UnityStyles.DiffPanel.HeaderLabel); if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); if (isSkipMergeTrackingButtonVisible) { DoSkipMergeTrackingButton( diffs, isSkipMergeTrackingButtonChecked, diffTreeView); } DrawSearchField.For( searchField, diffTreeView, UnityConstants.SEARCH_FIELD_WIDTH); EditorGUILayout.EndHorizontal(); }
internal void OnGUI() { EditorGUILayout.BeginVertical(); DoActionsToolbar( mDiffs, mProgressControls, mIsSkipMergeTrackingButtonVisible, mIsSkipMergeTrackingButtonChecked, mSearchField, mDiffTreeView); DoDiffTreeViewArea( mDiffTreeView, mProgressControls.IsOperationRunning()); if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } EditorGUILayout.EndVertical(); }
void DoActionsToolbar( bool isMessageLabelVisible, bool hasNothingToDownload, bool isErrorMessageLabelVisible, bool isProcessMergesButtonVisible, bool isCancelMergesButtonVisible, bool isProcessMergesButtonEnabled, bool isCancelMergesButtonEnabled, string processMergesButtonText, bool hasPendingDirectoryConflictsCount, bool isOperationRunning, IWorkspaceWindow workspaceWindow, MergeViewLogic mergeViewLogic, ProgressControlsForViews.Data progressData) { Rect result = GUILayoutUtility.GetRect(mParentWindow.position.width, 1); EditorGUI.DrawRect(result, UnityStyles.Colors.BarBorder); EditorGUILayout.BeginVertical(UnityStyles.IncomingChangesTab.ActionToolbar); GUILayout.FlexibleSpace(); EditorGUILayout.BeginHorizontal(); if (!isOperationRunning) { DoActionsToolbarMessage( isMessageLabelVisible, hasNothingToDownload, isErrorMessageLabelVisible); if (isProcessMergesButtonVisible) { DoProcessMergesButton( isProcessMergesButtonEnabled && !hasPendingDirectoryConflictsCount, processMergesButtonText, mSwitcher, workspaceWindow, mGuiMessage, mergeViewLogic); } if (isCancelMergesButtonVisible) { DoCancelMergesButton( isCancelMergesButtonEnabled, mergeViewLogic); } if (hasPendingDirectoryConflictsCount) { GUILayout.Space(5); DoWarningMessage(); } } else { DrawProgressForViews.ForIndeterminateProgress( progressData); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); EditorGUILayout.EndVertical(); }
static void DoOperationsToolbar( PlasticGUIClient plasticClient, bool isGluonMode, GenericMenu advancedDropdownMenu, IRefreshableView refreshableView, ProgressControlsForViews progressControls) { EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); GUISpace.ForToolbar(); using (new GuiEnabled(!progressControls.IsOperationRunning())) { using (new GuiEnabled(!plasticClient.IsCommentWarningNeeded)) { if (DoOperationButton("Checkin changes")) { LaunchOperation.CheckinForMode( isGluonMode, plasticClient.KeepItemsLocked, plasticClient); } } if (DoOperationButton("Undo changes")) { LaunchOperation.UndoForMode(isGluonMode, plasticClient); } if (isGluonMode) { plasticClient.KeepItemsLocked = EditorGUILayout.ToggleLeft( PlasticLocalization.GetString(PlasticLocalization.Name.KeepLocked), plasticClient.KeepItemsLocked, GUILayout.Width(UnityConstants.EXTRA_LARGE_BUTTON_WIDTH)); } //TO DO: Codice - beta: hide the advanced menu until the behavior is implemented /*else * { * var dropDownContent = new GUIContent(string.Empty); * var dropDownRect = GUILayoutUtility.GetRect( * dropDownContent, EditorStyles.toolbarDropDown); * * if (EditorGUI.DropdownButton(dropDownRect, dropDownContent, * FocusType.Passive, EditorStyles.toolbarDropDown)) * advancedDropdownMenu.DropDown(dropDownRect); * }*/ } if (plasticClient.IsCommentWarningNeeded) { GUILayout.Space(5); DoCheckinWarningMessage(); } if (progressControls.IsOperationRunning()) { DrawProgressForViews.ForIndeterminateProgress( progressControls.ProgressData); } GUILayout.FlexibleSpace(); DoRefreshButton( refreshableView, progressControls.IsOperationRunning()); EditorGUILayout.EndHorizontal(); }
void IIncomingChangesTab.OnGUI() { if (Event.current.type == EventType.Layout) { mHasPendingDirectoryConflicts = MergeTreeResultParser.GetUnsolvedDirectoryConflictsCount(mResultConflicts) > 0; mIsOperationRunning = mProgressControls.IsOperationRunning(); } DoConflictsTree( mIncomingChangesTreeView, mIsOperationRunning, mHasNothingToDownload, mIsUpdateSuccessful); List <MergeChangeInfo> selectedIncomingChanges = mIncomingChangesTreeView.GetSelectedIncomingChanges(); if (GetSelectedIncomingChangesGroupInfo.For( selectedIncomingChanges).IsDirectoryConflictsSelection&& !Mouse.IsRightMouseButtonPressed(Event.current)) { DoDirectoryConflictResolutionPanel( selectedIncomingChanges, new Action <MergeChangeInfo>(ResolveDirectoryConflict), mConflictResolutionStates); } DrawActionToolbar.Begin(mParentWindow); if (!mIsOperationRunning) { DoActionToolbarMessage( mIsMessageLabelVisible, mMessageLabelText, mHasNothingToDownload, mIsErrorMessageLabelVisible, mErrorMessageLabelText, mDirectoryConflictCount, mFileConflictCount, mChangesSummary); if (mIsProcessMergesButtonVisible) { DoProcessMergesButton( mIsProcessMergesButtonEnabled && !mHasPendingDirectoryConflicts, mProcessMergesButtonText, mSwitcher, mWorkspaceWindow, mGuiMessage, mMergeViewLogic, AfterProcessMerges); } if (mIsCancelMergesButtonVisible) { mIsCancelMergesButtonEnabled = DoCancelMergesButton( mIsCancelMergesButtonEnabled, mMergeViewLogic); } if (mHasPendingDirectoryConflicts) { GUILayout.Space(5); DoWarningMessage(); } } else { DrawProgressForViews.ForIndeterminateProgress( mProgressControls.ProgressData); } DrawActionToolbar.End(); if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } }
void IIncomingChangesTab.OnGUI() { bool splitterNeeded = mIsErrorsListVisible; if (splitterNeeded) { PlasticSplitterGUILayout.BeginVerticalSplit(mErrorsSplitterState); } DoIncomingChangesArea( mIncomingChangesTreeView, mProgressControls.IsOperationRunning(), mHasNothingToDownload, mIsUpdateSuccessful); DoErrorsArea( mErrorsListView, mErrorDetailsSplitterState, mIsErrorsListVisible); if (splitterNeeded) { PlasticSplitterGUILayout.EndVerticalSplit(); } DrawActionToolbar.Begin(mParentWindow); if (!mProgressControls.IsOperationRunning()) { DoActionToolbarMessage( mIsMessageLabelVisible, mMessageLabelText, mHasNothingToDownload, mIsErrorMessageLabelVisible, mErrorMessageLabelText, mFileConflictCount, mChangesSummary); if (mIsProcessMergesButtonVisible) { DoProcessMergesButton( mIsProcessMergesButtonEnabled, mProcessMergesButtonText, mIncomingChangesViewLogic, mIncomingChangesTreeView, AfterProcessMerges); } if (mIsCancelMergesButtonVisible) { mIsCancelMergesButtonEnabled = DoCancelMergesButton( mIsCancelMergesButtonEnabled, mIncomingChangesViewLogic); } } else { DrawProgressForViews.ForIndeterminateProgress( mProgressControls.ProgressData); } DrawActionToolbar.End(); if (mProgressControls.HasNotification()) { DrawProgressForViews.ForNotificationArea( mProgressControls.ProgressData); } }