in Editor/Window/AwsUserProfilesPage.cs [41:112]
public AwsUserProfilesPage(VisualElement container, StateManager stateManager)
{
var awsCredentials = AwsCredentialsFactory.Create();
_awsCredentialsUpdateModel = awsCredentials.Update;
_container = container;
var mVisualTreeAsset = Resources.Load<VisualTreeAsset>("EditorWindow/Pages/AwsUserProfilesPage");
var uxml = mVisualTreeAsset.Instantiate();
_container.Add(uxml);
_elementLocalizer = new ElementLocalizer(_container);
SetupStatusBoxes();
LocalizeText();
_noAccountMenu = _container.Q<VisualElement>("UserProfilePageNoAccountMenu");
_createMenu = _container.Q<VisualElement>("UserProfilePageCreateMenu");
_profilesTableMenu = _container.Q<VisualElement>("UserProfilesTableMenu");
_allMenus = new List<VisualElement>()
{
_noAccountMenu,
_createMenu,
_profilesTableMenu,
};
AccountDetailTextFields = _createMenu.Query<TextField>().ToList();
_stateManager = stateManager;
_stateManager.OnUserProfileUpdated += () =>
{
_awsCredentialsUpdateModel.Refresh();
_awsCredentialsUpdateModel.Update();
};
var createProfileContainer = _container.Q("UserProfilePageCreateMenu");
_userProfileCreation = new UserProfileCreation(createProfileContainer, _stateManager);
_userProfileCreation.OnProfileCreated += () =>
{
ShowProfileMenu(_profilesTableMenu);
};
_bootstrapSettings = BootstrapSettingsFactory.Create(_stateManager);
var helpfulResourcesContainer = _container.Q<Foldout>("HelpfulResourcesFoldout");
_helpfulResources = new HelpfulResources(helpfulResourcesContainer);
helpfulResourcesContainer.value = false;
RefreshProfiles();
container.Q<DropdownField>("UserProfilePageAccountNewProfileRegionDropdown").choices =
_stateManager.CoreApi.ListAvailableRegions().ToList();
_configFilePathInput = _container.Q<TextField>("UserProfilePageAwsConfigurationFileInput");
_configFilePathInput.SetEnabled(false);
_selectProfileButton = _container.Q<Button>(Strings.UserProfilePageSetProfileButton);
_bootstrapButton = _container.Q<Button>(Strings.UserProfilePageBootstrapButton);
_openCredentialsFileButton = _container.Q<Button>("UserProfilePageAwsConfigurationFileButton");
UpdateGui();
_stateManager.OnUserProfileUpdated += UpdateGui;
_stateManager.OnUserProfileUpdated += EnableDisableButtons;
_stateManager.OnAddAnotherProfile += () => ShowProfileMenu(_createMenu);
_stateManager.OnProfileRadioButtonChanged += EnableDisableButtons;
ChooseProfileMenu();
SetupButtonCallbacks();
EnableDisableButtons();
}