Пример #1
0
        private void OnOptionsChanged(object Sender, EventArgs E)
        {
            UpdateCachedOptions();

            UpdateStartupProjectList(Utils.GetAllProjectsFromDTE());
        }
Пример #2
0
        public StartupProjectSelector()
        {
            _bIsSolutionOpened = UnrealVSPackage.Instance.DTE.Solution.IsOpen;

            // Create the handlers for our commands
            {
                // StartupProjectCombo
                var StartupProjectComboCommandId = new CommandID(GuidList.UnrealVSCmdSet, StartupProjectComboId);
                var StartupProjectComboCommand   = new OleMenuCommand(StartupProjectComboHandler, StartupProjectComboCommandId);
                StartupProjectComboCommand.BeforeQueryStatus += (sender, args) => StartupProjectComboCommand.Enabled = _bIsSolutionOpened;
                UnrealVSPackage.Instance.MenuCommandService.AddCommand(StartupProjectComboCommand);

                // StartupProjectComboList
                var StartupProjectComboListCommandId = new CommandID(GuidList.UnrealVSCmdSet, StartupProjectComboListId);
                var StartupProjectComboListCommand   = new OleMenuCommand(StartupProjectComboListHandler, StartupProjectComboListCommandId);
                StartupProjectComboListCommand.BeforeQueryStatus += (sender, args) => StartupProjectComboListCommand.Enabled = _bIsSolutionOpened;
                UnrealVSPackage.Instance.MenuCommandService.AddCommand(StartupProjectComboListCommand);

                StartupProjectComboCommands = new[] { StartupProjectComboCommand, StartupProjectComboListCommand };
            }

            // Register for events that we care about
            UnrealVSPackage.Instance.OnStartupProjectChanged += OnStartupProjectChanged;
            UnrealVSPackage.Instance.OnSolutionOpened        +=
                delegate
            {
                Logging.WriteLine("Opened solution " + UnrealVSPackage.Instance.DTE.Solution.FullName);
                _bIsSolutionOpened = true;
                UpdateStartupProjectCombo();
                UpdateStartupProjectList(Utils.GetAllProjectsFromDTE());
            };
            UnrealVSPackage.Instance.OnSolutionClosing +=
                delegate
            {
                Logging.WriteLine("Closing solution");
                _bIsSolutionOpened = false;
                UpdateStartupProjectCombo();
                _CachedStartupProjects.Clear();
            };
            UnrealVSPackage.Instance.OnProjectOpened +=
                delegate(Project OpenedProject)
            {
                if (_bIsSolutionOpened)
                {
                    Logging.WriteLine("Opened project node " + OpenedProject.Name);
                    UpdateStartupProjectList(OpenedProject);
                }
                else
                {
                    Logging.WriteLine("Opened project node " + OpenedProject.Name + " with the solution CLOSED");
                }
            };
            UnrealVSPackage.Instance.OnProjectClosed +=
                delegate(Project ClosedProject)
            {
                Logging.WriteLine("Closed project node " + ClosedProject.Name);
                RemoveFromStartupProjectList(ClosedProject);
            };
            UnrealVSPackage.Instance.OptionsPage.OnOptionsChanged += OnOptionsChanged;

            UpdateStartupProjectList(Utils.GetAllProjectsFromDTE());
            UpdateStartupProjectCombo();
        }
 private void SanityCheckBuildJobs()
 {
     SanityCheckBuildJobs(Utils.GetAllProjectsFromDTE());
 }