public int OnBeforeActiveSolutionCfgChange(IVsCfg pOldActiveSlnCfg, IVsCfg pNewActiveSlnCfg)
        {
            string solutionConfiguration;

            pNewActiveSlnCfg.get_DisplayName(out solutionConfiguration);
            MainSite.BeforeChangeActiveSolutionConfiguration(solutionConfiguration);
            return(VSConstants.S_OK);
        }
예제 #2
0
        /// <summary>
        /// Retrives the configuration and the platform using the IVsSolutionBuildManager2 interface.
        /// </summary>
        /// <param name="serviceProvider">A service provider.</param>
        /// <param name="hierarchy">The hierrachy whose configuration is requested.</param>
        /// <returns>true if successfull.</returns>
        public static bool TryGetConfigurationAndPlatform(IVsCfg config, out ConfigCanonicalName configCanonicalName)
        {
            string configName = null;

            config.get_DisplayName(out configName);

            if (configName == null)
            {
                configCanonicalName = new ConfigCanonicalName();
                return(false);
            }

            configCanonicalName = new ConfigCanonicalName(configName);

            return(true);
        }
        public int OnAfterActiveSolutionCfgChange(IVsCfg pOldActiveSlnCfg, IVsCfg pNewActiveSlnCfg)
        {
            string previousConfiguration;

            if (pOldActiveSlnCfg == null)
            {
                previousConfiguration = null;
            }
            else
            {
                pOldActiveSlnCfg.get_DisplayName(out previousConfiguration);
            }

            // Set variables according the new active configuration
            MainSite.SetConfigurationProperties(previousConfiguration);

            return(VSConstants.S_OK);
        }
예제 #4
0
 private void SetConfigurationNames()
 {
     if (configs != null)
     {
         configNames = new string[configs.Length];
         for (int i = 0; i < configs.Length; i++)
         {
             IVsCfg cfg = configs[i] as IVsCfg;
             if (cfg != null)
             {
                 cfg.get_DisplayName(out configNames[i]);
             }
             if (configNames[i] == null)
             {
                 configNames[i] = "";
             }
         }
     }
 }
예제 #5
0
        int IVsUpdateSolutionEvents3.OnAfterActiveSolutionCfgChange(IVsCfg pOldActiveSlnCfg, IVsCfg pNewActiveSlnCfg)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            string newConfigName;

            if (pNewActiveSlnCfg != null && pNewActiveSlnCfg.get_DisplayName(out newConfigName) == VSConstants.S_OK)
            {
                var configSplit = newConfigName.Split('|');
                SetConfiguration(configSplit.Length > 0? configSplit[0] : null);
                SetPlatform(configSplit.Length > 1? configSplit[1] : null);
            }
            else
            {
                SetConfiguration(null);
                SetPlatform(null);
            }

            return(VSConstants.S_OK);
        }
예제 #6
0
 public int get_DisplayName(out string pbstrDisplayName)
 {
     return(_pythonCfg.get_DisplayName(out pbstrDisplayName));
 }
예제 #7
0
        public int get_DisplayName(out string pbstrDisplayName)
        {
            int ret = _baseCfg.get_DisplayName(out pbstrDisplayName);

            return(ret);
        }
예제 #8
0
 public int get_DisplayName(out string pbstrDisplayName)
 {
     return(_innerNodeCfg.get_DisplayName(out pbstrDisplayName));
 }