internal static string ToCreateWorkspace(IPlasticWebRestApi plasticWebRestApi) { string clientConfServer = PlasticGui.Plastic.ConfigAPI.GetClientConfServer(); if (!EditionToken.IsCloudEdition()) { return(clientConfServer); } string cloudServer = PlasticGuiConfig.Get(). Configuration.DefaultCloudServer; if (!string.IsNullOrEmpty(cloudServer)) { return(cloudServer); } CloudEditionCreds.Data config = CloudEditionCreds.GetFromClientConf(); cloudServer = GetFirstCloudServer. GetCloudServer(plasticWebRestApi, config.Email, config.Password); if (string.IsNullOrEmpty(cloudServer)) { return(clientConfServer); } SaveCloudServer.ToPlasticGuiConfig(cloudServer); return(cloudServer); }
static void DoNewRepositoryButton( Action <RepositoryCreationData> createRepositoryAction, EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string repositoryName, string defaultServer) { string proposedRepositoryName = string.Empty; string proposedServer = string.Empty; RepositorySpec repSpec = GetRepSpecFromName(repositoryName); if (repSpec != null) { proposedRepositoryName = repSpec.Name; proposedServer = repSpec.Server; } RepositoryCreationData creationData = CreateRepositoryDialog.CreateRepository( parentWindow, plasticWebRestApi, proposedRepositoryName, proposedServer, defaultServer, ClientConfig.Get().GetWorkspaceServer()); createRepositoryAction(creationData); }
internal static void ShowWindow(IPlasticWebRestApi restApi) { CloudEditionWelcomeWindow window = GetWindow <CloudEditionWelcomeWindow>(); window.mRestApi = restApi; window.titleContent = new GUIContent( PlasticLocalization.GetString(PlasticLocalization.Name.SignInToPlasticSCM)); window.minSize = new Vector2(800, 460); window.Show(); }
internal static void ShowWindow(IPlasticWebRestApi restApi) { TeamEditionConfigurationWindow window = GetWindow <TeamEditionConfigurationWindow>(); window.mRestApi = restApi; window.titleContent = new GUIContent( PlasticLocalization.GetString(PlasticLocalization.Name.WelcomeToPlasticSCM)); window.minSize = new Vector2(650, 300); window.Show(); }
internal SSOSignUpPanel( CloudEditionWelcomeWindow parentWindow, IPlasticWebRestApi restApi) { mParentWindow = parentWindow; mRestApi = restApi; InitializeLayoutAndStyles(); BuildComponents(); }
void Initialize(PlasticAPI plasticApi, IPlasticWebRestApi plasticWebRestApi) { ((IProgressControls)mProgressControls).ShowProgress(string.Empty); WorkspaceInfo[] allWorkspaces = null; IList allRepositories = null; IThreadWaiter waiter = ThreadWaiter.GetWaiter(10); waiter.Execute( /*threadOperationDelegate*/ delegate { mDefaultServer = GetDefaultServer.ToCreateWorkspace(plasticWebRestApi); allWorkspaces = plasticApi.GetAllWorkspacesArray(); allRepositories = plasticApi.GetAllRepositories( mDefaultServer, true); }, /*afterOperationDelegate*/ delegate { ((IProgressControls)mProgressControls).HideProgress(); if (waiter.Exception != null) { DisplayException(mProgressControls, waiter.Exception); return; } string serverSpecPart = string.Format("@{0}", mDefaultServer); mCreateWorkspaceState.RepositoryName = ValidRepositoryName.Get( string.Format("{0}{1}", mCreateWorkspaceState.RepositoryName, serverSpecPart), allRepositories); mCreateWorkspaceState.WorkspaceName = mCreateWorkspaceState.RepositoryName.Replace( serverSpecPart, string.Empty); mDialogUserAssistant = new CreateWorkspaceDialogUserAssistant( mWorkspacePath, allWorkspaces); OnRepositoryChanged( mDialogUserAssistant, mCreateWorkspaceState, mWorkspacePath); }); }
internal SignInWithEmailPanel( CloudEditionWelcomeWindow parentWindow, IWelcomeWindowNotify notify, IPlasticWebRestApi restApi) { mParentWindow = parentWindow; mNotify = notify; mRestApi = restApi; InitializeLayoutAndStyles(); BuildComponents(); }
internal SignInPanel( CloudEditionWelcomeWindow parentWindow, IPlasticWebRestApi restApi, CmConnection cmConnection) { mParentWindow = parentWindow; mRestApi = restApi; mCmConnection = cmConnection; InitializeLayoutAndStyles(); BuildComponents(); }
static RepositoryExplorerDialog Create( IPlasticWebRestApi plasticWebRestApi, ProgressControlsForDialogs progressControls, string defaultServer, GuiMessage.IGuiMessage guiMessage) { var instance = CreateInstance <RepositoryExplorerDialog>(); instance.mGuiMessage = guiMessage; instance.mEscapeKeyAction = instance.CancelButtonAction; instance.mProgressControls = progressControls; instance.BuildComponents(defaultServer, plasticWebRestApi); return(instance); }
internal OrganizationPanel( CloudEditionWelcomeWindow parentWindow, IPlasticWebRestApi restApi, string title, List <string> organizations, bool canCreateAnOrganization) { mParentWindow = parentWindow; mRestApi = restApi; mOrganizations = organizations; InitializeLayoutAndStyles(); BuildComponents(title, canCreateAnOrganization); }
static CreateRepositoryDialog Create( IPlasticWebRestApi plasticWebRestApi, ProgressControlsForDialogs progressControls, string proposedRepositoryName, string proposedServer) { var instance = CreateInstance <CreateRepositoryDialog>(); instance.mEnterKeyAction = instance.OkButtonWithValidationAction; instance.mEscapeKeyAction = instance.CancelButtonAction; instance.mPlasticWebRestApi = plasticWebRestApi; instance.mProgressControls = progressControls; instance.BuildComponents(proposedRepositoryName, proposedServer); return(instance); }
internal WaitingSignInPanel( IWelcomeWindowNotify parentNotify, OAuthSignIn.INotify notify, IPlasticWebRestApi restApi, CmConnection cmConnection) { mParentNotify = parentNotify; mNotify = notify; mRestApi = restApi; mCmConnection = cmConnection; InitializeLayoutAndStyles(); BuildComponents(); }
static void DoFieldsArea( Action <RepositoryCreationData> createRepositoryAction, EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string defaultServer, ref CreateWorkspaceViewState state) { DoRepositoryField( createRepositoryAction, parentWindow, plasticWebRestApi, defaultServer, ref state); DoWorkspaceField(ref state); }
internal WelcomeView( EditorWindow parentWindow, CreateWorkspaceView.ICreateWorkspaceListener createWorkspaceListener, PlasticAPI plasticApi, IPlasticWebRestApi plasticWebRestApi) { mParentWindow = parentWindow; mCreateWorkspaceListener = createWorkspaceListener; mPlasticApi = plasticApi; mPlasticWebRestApi = plasticWebRestApi; mGuiMessage = new UnityPlasticGuiMessage(parentWindow); mDownloadProgress = new ProgressControlsForViews(); mConfigureProgress = new ProgressControlsForViews(); mInstallerFile = GetInstallerTmpFileName.ForPlatform(); }
internal CreateWorkspaceView( PlasticWindow parentWindow, ICreateWorkspaceListener listener, PlasticAPI plasticApi, IPlasticWebRestApi plasticWebRestApi, string workspacePath) { mParentWindow = parentWindow; mCreateWorkspaceListener = listener; mWorkspacePath = workspacePath; mPlasticWebRestApi = plasticWebRestApi; mProgressControls = new ProgressControlsForViews(); mWorkspaceOperations = new WorkspaceOperations(this, mProgressControls); mCreateWorkspaceState = CreateWorkspaceViewState.BuildForProjectDefaults(); Initialize(plasticApi, plasticWebRestApi); }
static void DoBrowseRepositoryButton( EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string defaultServer, ref CreateWorkspaceViewState state) { string result = RepositoryExplorerDialog.BrowseRepository( parentWindow, plasticWebRestApi, defaultServer); if (string.IsNullOrEmpty(result)) { return; } state.RepositoryName = result; }
internal static void ShowWindow( IPlasticWebRestApi restApi, CmConnection cmConnection, WelcomeView welcomeView, bool autoLogin = false) { sRestApi = restApi; sCmConnection = cmConnection; sAutoLogin = autoLogin; CloudEditionWelcomeWindow window = GetWindow <CloudEditionWelcomeWindow>(); window.titleContent = new GUIContent( PlasticLocalization.GetString(PlasticLocalization.Name.SignInToPlasticSCM)); window.minSize = window.maxSize = new Vector2(500, 460); window.mWelcomeView = welcomeView; window.Show(); }
internal WelcomeView( PlasticWindow parentWindow, CreateWorkspaceView.ICreateWorkspaceListener createWorkspaceListener, PlasticAPI plasticApi, CmConnection cmConnection, IPlasticWebRestApi plasticWebRestApi) { mParentWindow = parentWindow; mCreateWorkspaceListener = createWorkspaceListener; mPlasticApi = plasticApi; mCmConnection = cmConnection; mPlasticWebRestApi = plasticWebRestApi; mGuiMessage = new UnityPlasticGuiMessage(); mConfigureProgress = new ProgressControlsForViews(); mInstallerFile = GetInstallerTmpFileName.ForPlatform(); autoLoginState = AutoLogin.State.Off; }
internal static string BrowseRepository( EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string defaultServer) { RepositoryExplorerDialog dialog = Create( plasticWebRestApi, new ProgressControlsForDialogs(), defaultServer, new UnityPlasticGuiMessage(parentWindow)); ResponseType dialogResult = dialog.RunModal(parentWindow); if (dialogResult != ResponseType.Ok) { return(null); } return(dialog.mRepositoriesListView.GetSelectedRepository()); }
internal CreateOrganizationPanel( CloudEditionWelcomeWindow parentWindow, VisualElement parentPanel, IPlasticWebRestApi restApi) { mParentWindow = parentWindow; mParentPanel = parentPanel; mRestApi = restApi; InitializeLayoutAndStyles(); BuildComponents(); var progressControls = new ProgressControlsForDialogs(new VisualElement[] { mCreateButton, mBackButton }); mProgressControls = progressControls; mGettingDatacentersProgressContainer.Add(progressControls); GetDatacenters.Run( mRestApi, mProgressControls, this); }
void BuildComponents( string defaultServer, IPlasticWebRestApi plasticWebRestApi) { mSearchField = new SearchField(); mSearchField.downOrUpArrowKeyPressed += SearchField_OnDownOrUpArrowKeyPressed; RepositoriesListHeaderState headerState = RepositoriesListHeaderState.GetDefault(); TreeHeaderSettings.Load(headerState, UnityConstants.REPOSITORIES_TABLE_SETTINGS_NAME, (int)RepositoriesListColumn.Name); mRepositoriesListView = new RepositoriesListView( headerState, RepositoriesListHeaderState.GetColumnNames(), OkButtonAction); mRepositoriesListView.Reload(); mFillRepositoriesTable = new FillRepositoriesTable( new LocalRepositoriesProvider()); mState = new State() { Server = defaultServer, ProgressData = new ProgressControlsForDialogs.Data() }; KnownServersListOperations.GetCombinedServers( true, new List <string>(), mProgressControls, this, plasticWebRestApi, CmConnection.Get().GetProfileManager()); }
internal static void ForState( Action <RepositoryCreationData> createRepositoryAction, Action <CreateWorkspaceViewState> createWorkspaceAction, EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string defaultServer, ref CreateWorkspaceViewState state) { DoTitle(); GUILayout.Space(15); DoFieldsArea( createRepositoryAction, parentWindow, plasticWebRestApi, defaultServer, ref state); GUILayout.Space(10); DoRadioButtonsArea(ref state); GUILayout.Space(3); DoHelpLabel(); GUILayout.Space(10); DoCreateWorkspaceButton( createWorkspaceAction, ref state); GUILayout.Space(5); DoNotificationArea(state.ProgressData); }
internal static RepositoryCreationData CreateRepository( EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string proposedRepositoryName, string proposedServer, string lastUsedRepServer, string clientConfServer) { string server = CreateRepositoryDialogUserAssistant.GetProposedServer( proposedServer, lastUsedRepServer, clientConfServer); CreateRepositoryDialog dialog = Create( plasticWebRestApi, new ProgressControlsForDialogs(), proposedRepositoryName, server); ResponseType dialogResult = dialog.RunModal(parentWindow); RepositoryCreationData result = dialog.BuildCreationData(); result.Result = dialogResult == ResponseType.Ok; return(result); }
static void DoRepositoryField( Action <RepositoryCreationData> createRepositoryAction, EditorWindow parentWindow, IPlasticWebRestApi plasticWebRestApi, string defaultServer, ref CreateWorkspaceViewState state) { EditorGUILayout.BeginHorizontal(); DoLabel( PlasticLocalization.GetString(PlasticLocalization.Name.RepositoryName)); state.RepositoryName = DoTextField( state.RepositoryName, !state.ProgressData.IsOperationRunning, LABEL_WIDTH, TEXTBOX_WIDTH - BROWSE_BUTTON_WIDTH); float browseButtonX = LABEL_WIDTH + TEXTBOX_WIDTH + BUTTON_MARGIN - BROWSE_BUTTON_WIDTH; float browseButtonWidth = BROWSE_BUTTON_WIDTH - BUTTON_MARGIN; if (DoButton( "...", !state.ProgressData.IsOperationRunning, browseButtonX, browseButtonWidth)) { DoBrowseRepositoryButton( parentWindow, plasticWebRestApi, defaultServer, ref state); EditorGUIUtility.ExitGUI(); } float newButtonX = LABEL_WIDTH + TEXTBOX_WIDTH + BUTTON_MARGIN; float newButtonWidth = NEW_BUTTON_WIDTH - BUTTON_MARGIN; if (DoButton( PlasticLocalization.GetString(PlasticLocalization.Name.NewButton), !state.ProgressData.IsOperationRunning, newButtonX, newButtonWidth)) { DoNewRepositoryButton( createRepositoryAction, parentWindow, plasticWebRestApi, state.RepositoryName, defaultServer); EditorGUIUtility.ExitGUI(); } ValidationResult validationResult = ValidateRepositoryName( state.RepositoryName); if (!validationResult.IsValid) { DoWarningLabel(validationResult.ErrorMessage, LABEL_WIDTH + TEXTBOX_WIDTH + NEW_BUTTON_WIDTH + LABEL_MARGIN); } EditorGUILayout.EndHorizontal(); }