示例#1
0
 public void SetContext(DTE application, AddIn addIn, MDASolutionManager solutionManager, AddInSettings addInSettings)
 {
     m_application     = application;
     m_addIn           = addIn;
     m_solutionManager = solutionManager;
     m_addInSettings   = addInSettings;
 }
示例#2
0
        /// <summary>
        /// Called when the add-in is loaded
        /// </summary>
        /// <param name="application">The application.</param>
        /// <param name="connectMode">The connect mode.</param>
        /// <param name="addInInst">The add in inst.</param>
        /// <param name="custom">The custom.</param>
        public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
        {
            try
            {
                if (connectMode == ext_ConnectMode.ext_cm_UISetup || connectMode == ext_ConnectMode.ext_cm_Solution)
                {
                    return;
                }

                // If the Add-In is already connected return
                if (m_connected)
                {
                    return;
                }

                m_applicationObject = (DTE)application;
                m_addInInstance     = (AddIn)addInInst;

                // Don't load the add-in if the following parameters were passed to the app
                string command_line = m_applicationObject.CommandLineArguments.ToLower();
                foreach (string sw in new string[] { "/build", "/rebuild", "/clean", "/deploy" })
                {
                    if (command_line.IndexOf(sw) != -1)
                    {
                        return;
                    }
                }

                m_addInSettings = new AddInSettings(m_applicationObject);

                if (m_addInSettings.ShowWelcomeWizard)
                {
                    Dialogs.WelcomeWizard welcome = new Dialogs.WelcomeWizard(m_addInSettings);
                    welcome.ShowDialog();
                    m_addInSettings.ShowWelcomeWizard = welcome.ShowWizardAgain;
                }

                m_solutionManager = new MDASolutionManager(m_applicationObject, m_addInSettings);
                BindEvents();
                CreateCommands();
                RegisterCommands();
                RegisterToolbar();
                Velocity.Init();
                m_connected = true;
            }
            catch (Exception e)
            {
                AddInUtils.ShowError("An exception occured while trying to instantiate the add-in: " + e.ToString());
            }
        }
示例#3
0
        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
        {
            switch (disconnectMode)
            {
            case ext_DisconnectMode.ext_dm_HostShutdown:
            case ext_DisconnectMode.ext_dm_UserClosed:
                break;

            case ext_DisconnectMode.ext_dm_SolutionClosed:
            case ext_DisconnectMode.ext_dm_UISetupComplete:
                return;
            }

            // If the add-in is not active, do not disconnect
            if (!m_connected)
            {
                return;
            }

            try
            {
                // Stop maven if it is runing
                if (m_solutionManager.IsMavenRunning)
                {
                    m_solutionManager.StopMaven();
                }
                // Save the position/state of the toolbar
                SaveToolbarSettings();
                UnregisterCommands();
                UnbindEvents();
                m_solutionManager = null;
            }
            catch (Exception e)
            {
                AddInUtils.ShowError("An exception occured in OnDisconnect(): " + e.ToString());
            }
            finally
            {
                m_connected = false;
            }
        }
示例#4
0
        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
        {
            switch (disconnectMode)
            {
                case ext_DisconnectMode.ext_dm_HostShutdown:
                case ext_DisconnectMode.ext_dm_UserClosed:
                    break;
                case ext_DisconnectMode.ext_dm_SolutionClosed:
                case ext_DisconnectMode.ext_dm_UISetupComplete:
                    return;
            }

            // If the add-in is not active, do not disconnect
            if (!m_connected)
            {
                return;
            }

            try
            {
                // Stop maven if it is runing
                if (m_solutionManager.IsMavenRunning)
                {
                    m_solutionManager.StopMaven();
                }
                // Save the position/state of the toolbar
                SaveToolbarSettings();
                UnregisterCommands();
                UnbindEvents();
                m_solutionManager = null;
            }
            catch (Exception e)
            {
                AddInUtils.ShowError("An exception occured in OnDisconnect(): " + e.ToString());
            }
            finally
            {
                m_connected = false;
            }
        }
示例#5
0
        /// <summary>
        /// Called when the add-in is loaded
        /// </summary>
        /// <param name="application">The application.</param>
        /// <param name="connectMode">The connect mode.</param>
        /// <param name="addInInst">The add in inst.</param>
        /// <param name="custom">The custom.</param>
        public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
        {
            try
            {
                if (connectMode == ext_ConnectMode.ext_cm_UISetup || connectMode == ext_ConnectMode.ext_cm_Solution)
                {
                    return;
                }

                // If the Add-In is already connected return
                if (m_connected)
                {
                    return;
                }

                m_applicationObject = (DTE)application;
                m_addInInstance = (AddIn)addInInst;

                // Don't load the add-in if the following parameters were passed to the app
                string command_line = m_applicationObject.CommandLineArguments.ToLower();
                foreach (string sw in new string[] { "/build", "/rebuild", "/clean", "/deploy" })
                {
                    if (command_line.IndexOf(sw) != -1)
                        return;
                }

                m_addInSettings = new AddInSettings(m_applicationObject);

                if (m_addInSettings.ShowWelcomeWizard)
                {
                    Dialogs.WelcomeWizard welcome = new Dialogs.WelcomeWizard(m_addInSettings);
                    welcome.ShowDialog();
                    m_addInSettings.ShowWelcomeWizard = welcome.ShowWizardAgain;
                }

                m_solutionManager = new MDASolutionManager(m_applicationObject, m_addInSettings);
                BindEvents();
                CreateCommands();
                RegisterCommands();
                RegisterToolbar();
                Velocity.Init();
                m_connected = true;
            }
            catch (Exception e)
            {
                AddInUtils.ShowError("An exception occured while trying to instantiate the add-in: " + e.ToString());
            }
        }
示例#6
0
 public void SetContext(DTE application, AddIn addIn, MDASolutionManager solutionManager, AddInSettings addInSettings)
 {
     m_application = application;
     m_addIn = addIn;
     m_solutionManager = solutionManager;
     m_addInSettings = addInSettings;
 }