internal PendingChangesTab( WorkspaceInfo wkInfo, ViewHost viewHost, bool isGluonMode, WorkspaceWindow workspaceWindow, IViewSwitcher switcher, IMergeViewLauncher mergeViewLauncher, IHistoryViewLauncher historyViewLauncher, PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges, NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater, IAssetStatusCache assetStatusCache, NotificationDrawer notificationDrawer, EditorWindow parentWindow) { mWkInfo = wkInfo; mViewHost = viewHost; mIsGluonMode = isGluonMode; mWorkspaceWindow = workspaceWindow; mHistoryViewLauncher = historyViewLauncher; mPendingChanges = pendingChanges; mDeveloperNewIncomingChangesUpdater = developerNewIncomingChangesUpdater; mGluonNewIncomingChangesUpdater = gluonNewIncomingChangesUpdater; mAssetStatusCache = assetStatusCache; mNotificationDrawer = notificationDrawer; mParentWindow = parentWindow; mGuiMessage = new UnityPlasticGuiMessage(parentWindow); mCheckedStateManager = new CheckedStateManager(); mNewChangesInWk = NewChangesInWk.Build( mWkInfo, new BuildWorkspacekIsRelevantNewChange()); BuildComponents(isGluonMode, parentWindow); mBorderColor = EditorGUIUtility.isProSkin ? (Color) new Color32(35, 35, 35, 255) : (Color) new Color32(153, 153, 153, 255); mProgressControls = new ProgressControlsForViews(); workspaceWindow.RegisterPendingChangesProgressControls(mProgressControls); mPendingChangesOperations = new PendingChangesOperations( mWkInfo, workspaceWindow, switcher, mergeViewLauncher, this, mProgressControls, workspaceWindow, null, null, null); InitIgnoreRulesAndRefreshView(mWkInfo.ClientPath, this); }
internal IncomingChangesTab( WorkspaceInfo wkInfo, IWorkspaceWindow workspaceWindow, IViewSwitcher switcher, NewIncomingChangesUpdater newIncomingChangesUpdater, EditorWindow parentWindow) { mWkInfo = wkInfo; mWorkspaceWindow = workspaceWindow; mSwitcher = switcher; mNewIncomingChangesUpdater = newIncomingChangesUpdater; mParentWindow = parentWindow; mGuiMessage = new UnityPlasticGuiMessage(); BuildComponents(mWkInfo); mProgressControls = new ProgressControlsForViews(); mCooldownClearUpdateSuccessAction = new CooldownWindowDelayer( DelayedClearUpdateSuccess, UnityConstants.NOTIFICATION_CLEAR_INTERVAL); PlasticNotifier plasticNotifier = new PlasticNotifier(); mMergeController = new MergeController( mWkInfo, null, null, EnumMergeType.IncomingMerge, true, plasticNotifier, null); mMergeViewLogic = new MergeViewLogic( mWkInfo, EnumMergeType.IncomingMerge, true, mMergeController, plasticNotifier, ShowIncomingChangesFrom.NotificationBar, null, mNewIncomingChangesUpdater, null, this, NewChangesInWk.Build(mWkInfo, new BuildWorkspacekIsRelevantNewChange()), mProgressControls, null); ((IRefreshableView)this).Refresh(); }
internal static void DisposeUpdater( NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater) { if (developerNewIncomingChangesUpdater != null) { developerNewIncomingChangesUpdater.Dispose(); } if (gluonNewIncomingChangesUpdater != null) { gluonNewIncomingChangesUpdater.Dispose(); } }
internal static void StopUpdater( NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater) { if (developerNewIncomingChangesUpdater != null) { developerNewIncomingChangesUpdater.Stop(); } if (gluonNewIncomingChangesUpdater != null) { gluonNewIncomingChangesUpdater.Stop(); } }
internal static void LaunchUpdater( NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater) { if (developerNewIncomingChangesUpdater != null) { developerNewIncomingChangesUpdater.Start(); developerNewIncomingChangesUpdater.Update(); } if (gluonNewIncomingChangesUpdater != null) { gluonNewIncomingChangesUpdater.Start(); gluonNewIncomingChangesUpdater.Update(DateTime.Now); } }
internal IncomingChangesTab( WorkspaceInfo wkInfo, ViewHost viewHost, WorkspaceWindow workspaceWindow, NewIncomingChangesUpdater newIncomingChangesUpdater, CheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges, StatusBar statusBar, EditorWindow parentWindow) { mWkInfo = wkInfo; mNewIncomingChangesUpdater = newIncomingChangesUpdater; mParentWindow = parentWindow; mStatusBar = statusBar; BuildComponents(); mProgressControls = new ProgressControlsForViews(); mCooldownClearUpdateSuccessAction = new CooldownWindowDelayer( DelayedClearUpdateSuccess, UnityConstants.NOTIFICATION_CLEAR_INTERVAL); mErrorsSplitterState = PlasticSplitterGUILayout.InitSplitterState( new float[] { 0.75f, 0.25f }, new int[] { 100, 100 }, new int[] { 100000, 100000 } ); mErrorDetailsSplitterState = PlasticSplitterGUILayout.InitSplitterState( new float[] { 0.60f, 0.40f }, new int[] { 100, 100 }, new int[] { 100000, 100000 } ); mIncomingChangesViewLogic = new IncomingChangesViewLogic( wkInfo, viewHost, this, new UnityPlasticGuiMessage(parentWindow), mProgressControls, updateIncomingChanges, workspaceWindow.GluonProgressOperationHandler, workspaceWindow, new IncomingChangesViewLogic.ApplyWorkspaceLocalChanges(), new IncomingChangesViewLogic.OutOfDateItemsOperations(), new IncomingChangesViewLogic.ResolveUserName(), new IncomingChangesViewLogic.GetWorkingBranch(), NewChangesInWk.Build(wkInfo, new BuildWorkspacekIsRelevantNewChange()), null); mIncomingChangesViewLogic.Refresh(); }
void BuildComponents( WorkspaceInfo wkInfo, IWorkspaceWindow workspaceWindow, IViewSwitcher viewSwitcher, IMergeViewLauncher mergeViewLauncher, IUpdateReport updateReport, NewIncomingChangesUpdater developerNewIncomingChangesUpdater, EditorWindow parentWindow) { mSearchField = new SearchField(); mSearchField.downOrUpArrowKeyPressed += SearchField_OnDownOrUpArrowKeyPressed; DateFilter.Type dateFilterType = EnumPopupSetting <DateFilter.Type> .Load( UnityConstants.BRANCHES_DATE_FILTER_SETTING_NAME, DateFilter.Type.LastMonth); mDateFilter = new DateFilter(dateFilterType); BranchesListHeaderState headerState = BranchesListHeaderState.GetDefault(); TreeHeaderSettings.Load(headerState, UnityConstants.BRANCHES_TABLE_SETTINGS_NAME, (int)BranchesListColumn.CreationDate, false); mBranchesListView = new BranchesListView( headerState, BranchesListHeaderState.GetColumnNames(), new BranchesViewMenu(this), sizeChangedAction: OnBranchesListViewSizeChanged); mBranchesListView.Reload(); mBranchOperations = new BranchOperations( wkInfo, workspaceWindow, viewSwitcher, mergeViewLauncher, this, ViewType.BranchesView, mProgressControls, updateReport, new ContinueWithPendingChangesQuestionerBuilder(viewSwitcher, parentWindow), developerNewIncomingChangesUpdater); }
internal IncomingChangesTab( WorkspaceInfo wkInfo, IViewSwitcher switcher, PlasticGUIClient plasticClient, NewIncomingChangesUpdater newIncomingChangesUpdater, EditorWindow parentWindow) { mWkInfo = wkInfo; mSwitcher = switcher; mPlasticClient = plasticClient; mNewIncomingChangesUpdater = newIncomingChangesUpdater; mParentWindow = parentWindow; mGuiMessage = new UnityPlasticGuiMessage(parentWindow); BuildComponents(mWkInfo); mProgressControls = new ProgressControlsForViews(); PlasticNotifier plasticNotifier = new PlasticNotifier(); mMergeController = new MergeController( mWkInfo, null, null, EnumMergeType.IncomingMerge, true, plasticNotifier, null); mMergeViewLogic = new MergeViewLogic( mWkInfo, EnumMergeType.IncomingMerge, true, mMergeController, plasticNotifier, ShowIncomingChangesFrom.NotificationBar, null, mNewIncomingChangesUpdater, null, this, NewChangesInWk.Build(mWkInfo, new BuildWorkspacekIsRelevantNewChange()), mProgressControls, null); ((IRefreshableView)this).Refresh(); }
internal ViewSwitcher( WorkspaceInfo wkInfo, ViewHost viewHost, bool isGluonMode, PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges, NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater, IIncomingChangesNotificationPanel incomingChangesNotificationPanel, EditorWindow parentWindow) { mWkInfo = wkInfo; mViewHost = viewHost; mIsGluonMode = isGluonMode; mPendingChanges = pendingChanges; mDeveloperNewIncomingChangesUpdater = developerNewIncomingChangesUpdater; mGluonNewIncomingChangesUpdater = gluonNewIncomingChangesUpdater; mIncomingChangesNotificationPanel = incomingChangesNotificationPanel; mParentWindow = parentWindow; }
internal static void Initialize( WorkspaceWindow workspaceWindow, ViewHost viewHost, NewIncomingChangesUpdater incomingChangesUpdater, bool isGluonMode) { if (!sIsEnabled) { Enable(); } sWorkspaceWindow = workspaceWindow; sViewHost = viewHost; sNewIncomingChangesUpdater = incomingChangesUpdater; sIsGluonMode = isGluonMode; sGuiMessage = new UnityPlasticGuiMessage(); sProgressControls = new EditorProgressControls(sGuiMessage); }
internal IncomingChangesTab( WorkspaceInfo wkInfo, ViewHost viewHost, PlasticGUIClient plasticClient, NewIncomingChangesUpdater newIncomingChangesUpdater, CheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges, EditorWindow parentWindow) { mWkInfo = wkInfo; mPlasticClient = plasticClient; mNewIncomingChangesUpdater = newIncomingChangesUpdater; mParentWindow = parentWindow; BuildComponents(); mProgressControls = new ProgressControlsForViews(); mErrorsSplitterState = SplitterGUILayout.InitSplitterState( new float[] { 0.75f, 0.25f }, new int[] { 100, 100 }, new int[] { 100000, 100000 } ); mErrorDetailsSplitterState = SplitterGUILayout.InitSplitterState( new float[] { 0.60f, 0.40f }, new int[] { 100, 100 }, new int[] { 100000, 100000 } ); mIncomingChangesViewLogic = new IncomingChangesViewLogic( wkInfo, viewHost, this, new UnityPlasticGuiMessage(parentWindow), mProgressControls, updateIncomingChanges, plasticClient.GluonProgressOperationHandler, plasticClient, new IncomingChangesViewLogic.ApplyWorkspaceLocalChanges(), new IncomingChangesViewLogic.OutOfDateItemsOperations(), new IncomingChangesViewLogic.ResolveUserName(), new IncomingChangesViewLogic.GetWorkingBranch(), NewChangesInWk.Build(wkInfo, new BuildWorkspacekIsRelevantNewChange()), null); mIncomingChangesViewLogic.Refresh(); }
internal static NewIncomingChangesUpdater BuildUpdaterForDeveloper( WorkspaceInfo wkInfo, CheckIncomingChanges.IAutoRefreshIncomingChangesView autoRefreshIncomingChangesView, CheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges) { if (!ClientConfig.Get().GetClientConfigData().IsIncomingChangesEnabled()) { return(null); } NewIncomingChangesUpdater updater = new NewIncomingChangesUpdater( new UnityPlasticTimerBuilder(), updateIncomingChanges); updater.SetAutoRefreshIncomingChangesView( autoRefreshIncomingChangesView); updater.SetWorkspace(wkInfo); updater.Start(); return(updater); }
internal WorkspaceWindow( WorkspaceInfo wkInfo, ViewHost viewHost, ViewSwitcher switcher, IMergeViewLauncher mergeViewLauncher, NewIncomingChangesUpdater developerNewIncomingChangesUpdater, EditorWindow parentWindow) { mWkInfo = wkInfo; mViewHost = viewHost; mSwitcher = switcher; mMergeViewLauncher = mergeViewLauncher; mDeveloperNewIncomingChangesUpdater = developerNewIncomingChangesUpdater; mPlasticWindow = parentWindow; mGuiMessage = new UnityPlasticGuiMessage(parentWindow); mDeveloperProgressOperationHandler = new Developer.ProgressOperationHandler(mWkInfo, this); mGluonProgressOperationHandler = new Gluon.ProgressOperationHandler(this); mOperationProgressData = new OperationProgressData(); ((IWorkspaceWindow)this).UpdateTitle(); }