/// <summary>
        /// Implements the QueryStatus method of the IDTCommandTarget interface. This is called when the command's availability is updated
        /// </summary>
        /// <param name="neededText">Text that is needed for the command.</param>
        /// <param name="status">The state of the command in the user interface.</param>
        /// <param name="commandText">Text requested by the neededText parameter.</param>
        internal void OnQueryStatus(vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
        {
            if (_queryStatus != null)
            {
                VSMenuQueryStatusEventArgs e = new VSMenuQueryStatusEventArgs();

                e.NeededText  = neededText;
                e.Status      = status;
                e.CommandText = commandText;

                _queryStatus(this, e);

                status = e.Status;
            }
            else if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
            {
                status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled;
            }
        }
 internal void OnQueryStatus(vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
 {
     if (this._queryStatus != null)
     {
         VSMenuQueryStatusEventArgs vSMenuQueryStatusEventArgs = new VSMenuQueryStatusEventArgs();
         vSMenuQueryStatusEventArgs.NeededText  = neededText;
         vSMenuQueryStatusEventArgs.Status      = status;
         vSMenuQueryStatusEventArgs.CommandText = commandText;
         this._queryStatus(this, vSMenuQueryStatusEventArgs);
         status = vSMenuQueryStatusEventArgs.Status;
     }
     else
     {
         if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
         {
             status = (vsCommandStatus)3;
         }
     }
 }
Пример #3
0
 private void MenuSettingsQueryStatus(object sender, VSMenuQueryStatusEventArgs e)
 {
     if (this.ApplicationObject.Solution.IsOpen)
     {
         e.Status = (vsCommandStatus)3;
     }
     else
     {
         e.Status = (vsCommandStatus)17;
     }
 }
 internal void OnQueryStatus(vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
 {
     if (this._queryStatus != null)
     {
         VSMenuQueryStatusEventArgs vSMenuQueryStatusEventArgs = new VSMenuQueryStatusEventArgs();
         vSMenuQueryStatusEventArgs.NeededText = neededText;
         vSMenuQueryStatusEventArgs.Status = status;
         vSMenuQueryStatusEventArgs.CommandText = commandText;
         this._queryStatus(this, vSMenuQueryStatusEventArgs);
         status = vSMenuQueryStatusEventArgs.Status;
     }
     else
     {
         if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
         {
             status = (vsCommandStatus)3;
         }
     }
 }