internal PlasticGUIClient( WorkspaceInfo wkInfo, IViewSwitcher switcher, IMergeViewLauncher mergeViewLauncher, ViewHost viewHost, PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges, NewIncomingChangesUpdater developerNewIncomingChangesUpdater, GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater, EditorWindow parentWindow, GuiMessage.IGuiMessage guiMessage) { mWkInfo = wkInfo; mSwitcher = switcher; mMergeViewLauncher = mergeViewLauncher; mViewHost = viewHost; mPendingChanges = pendingChanges; mDeveloperNewIncomingChangesUpdater = developerNewIncomingChangesUpdater; mGluonNewIncomingChangesUpdater = gluonNewIncomingChangesUpdater; mPlasticWindow = parentWindow; mGuiMessage = guiMessage; ((IWorkspaceWindow)this).UpdateTitle(); mCheckedStateManager = new CheckedStateManager(); mDeveloperProgressOperationHandler = new Developer.ProgressOperationHandler(mWkInfo, this); mGluonProgressOperationHandler = new Gluon.ProgressOperationHandler(this); }
public void TestConflictNoMeta() { MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); GluonFileConflict fileConflict = Build.FileConflict( rootMountPointWithPath, "/foo/bar.c"); CheckedStateManager checkedStateManager = new CheckedStateManager(); List <OutOfDateItemsByMount> outOfDateItemsByMount = new List <OutOfDateItemsByMount>(); List <GluonFileConflict> fileConflicts = new List <GluonFileConflict>(); fileConflicts.Add(fileConflict); IncomingChangesTree innerTree = IncomingChangesTree.BuildIncomingChangeCategories( checkedStateManager, outOfDateItemsByMount, fileConflicts); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories(innerTree); IncomingChangeInfo conflictChangeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); Assert.IsNotNull( conflictChangeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(conflictChangeInfo), "Meta change should be null"); }
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); mMergeViewLauncher = mergeViewLauncher; 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 void BuildModel( PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges, CheckedStateManager checkedStateManager) { mTreeViewItemIds.Clear(); mPendingChangesTree.BuildChangeCategories( mWkInfo.ClientPath, pendingChanges, checkedStateManager); }
internal void BuildChangeCategories( string wkPath, PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges, CheckedStateManager checkedStateManager) { mMetaCache.Build(pendingChanges); mInnerTree.BuildChangeCategories( wkPath, pendingChanges, checkedStateManager); }
public void TestChangedWithDeletedMeta() { MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); Difference changed = Build.ChangedDifference( "/foo/bar.c"); Difference deletedMeta = Build.DeletedDifference( "/foo/bar.c.meta"); OutOfDateItemsByMount outOfDateItems = new OutOfDateItemsByMount() { Mount = rootMountPointWithPath }; outOfDateItems.Changed.Add(changed); outOfDateItems.Deleted.Add(deletedMeta); CheckedStateManager checkedStateManager = new CheckedStateManager(); List <OutOfDateItemsByMount> outOfDateItemsByMount = new List <OutOfDateItemsByMount>(); List <GluonFileConflict> fileConflicts = new List <GluonFileConflict>(); outOfDateItemsByMount.Add(outOfDateItems); IncomingChangesTree innerTree = IncomingChangesTree.BuildIncomingChangeCategories( checkedStateManager, outOfDateItemsByMount, fileConflicts); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories(innerTree); IncomingChangeInfo changeInfo = FindChangeInfo.FromDifference( changed, tree); IncomingChangeInfo deleteInfo = FindChangeInfo.FromDifference( deletedMeta, tree); Assert.IsNotNull( changeInfo, "ChangeInfo not found"); Assert.IsNotNull( deleteInfo, "DeleteInfo not found"); Assert.IsNull( tree.GetMetaChange(changeInfo), "Meta change should be null"); }