BuildingCoder.CmdItemExecuted.Execute C# (CSharp) Метод

Execute() публичный Метод

public Execute ( ExternalCommandData commandData, string &message, ElementSet elements ) : System.Result
commandData ExternalCommandData
message string
elements ElementSet
Результат System.Result
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            if( _subscribed )
              {
            Autodesk.Windows.ComponentManager.ItemExecuted
              -= OnItemExecuted;

            _subscribed = false;
              }
              else
              {
            RibbonTabCollection tabs
              = ComponentManager.Ribbon.Tabs;

            foreach( RibbonTab tab in tabs )
            {
              Debug.Print( "  {0} {1} '{2}'", tab,
            tab.GetType().Name, tab.AutomationName );

              if( tab.KeyTip == null )
              {
            // This tab is user defined.

            foreach( var panel in tab.Panels )
            {
              // Cannot convert type 'Autodesk.Windows.RibbonPanel'
              // to 'Autodesk.Revit.UI.RibbonPanel' via a reference
              // conversion, boxing conversion, unboxing conversion,
              // wrapping conversion, or null type conversion.
              //
              //Autodesk.Revit.UI.RibbonPanel rp
              //  = panel as Autodesk.Revit.UI.RibbonPanel;

              Autodesk.Windows.RibbonPanel rp
                = panel as Autodesk.Windows.RibbonPanel;

              Debug.Print( "    {0} {1}",
                panel.ToString(), panel.GetType().Name );

              foreach( var item in panel.Source.Items )
              {
                Autodesk.Windows.RibbonItem ri = item
                  as Autodesk.Windows.RibbonItem;

                string automationName = ri.AutomationName;

                Debug.Print( "      {0} {1} '{2}' {3}",
                  item.ToString(), item.GetType().Name,
                  automationName, ri.Cookie );
              }
            }
              }
            }

            Autodesk.Windows.ComponentManager.ItemExecuted
              += OnItemExecuted;

            _subscribed = true;
              }
              return Result.Succeeded;
        }