/// <summary> /// Получить SplitButton (основная команда + все вложенные команды) для дескриптора функции /// </summary> /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param> /// <param name="orientation">Ориентация кнопки</param> /// <param name="size">Размер кнопки</param> private static RibbonSplitButton GetSplitButton( IIntellectualEntityDescriptor descriptor, Orientation orientation = Orientation.Vertical, RibbonItemSize size = RibbonItemSize.Large) { // Создаем SplitButton var risSplitBtn = new RibbonSplitButton { Text = "RibbonSplitButton", Orientation = orientation, Size = size, ShowImage = true, ShowText = true, ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton, ResizeStyle = RibbonItemResizeStyles.NoResize, ListStyle = RibbonSplitButtonListStyle.List }; // Добавляем в него первую функцию, которую делаем основной var ribBtn = GetBigButton(descriptor, orientation); if (ribBtn != null) { risSplitBtn.Items.Add(ribBtn); risSplitBtn.Current = ribBtn; } // Вложенные команды GetBigButtonsForSubFunctions(descriptor, orientation).ForEach(b => risSplitBtn.Items.Add(b)); return(risSplitBtn); }
/// <summary> /// Получить SplitButton (основная команда + все вложенные команды) для дескриптора функции /// </summary> /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param> /// <param name="orientation">Ориентация кнопки</param> private static RibbonSplitButton GetSmallSplitButton( IIntellectualEntityDescriptor descriptor, Orientation orientation = Orientation.Vertical) { // Создаем SplitButton var risSplitBtn = new RibbonSplitButton { Text = "RibbonSplitButton", Orientation = orientation, Size = RibbonItemSize.Standard, ShowImage = true, ShowText = false, ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton, ResizeStyle = RibbonItemResizeStyles.NoResize, ListStyle = RibbonSplitButtonListStyle.List }; var ribBtn = GetButton(descriptor, orientation); if (ribBtn != null) { risSplitBtn.Items.Add(ribBtn); risSplitBtn.Current = ribBtn; } // Вложенные команды GetButtonsForSubFunctions(descriptor, orientation).ForEach(b => risSplitBtn.Items.Add(b)); return(risSplitBtn); }
/// <summary> /// Получить маленькую кнопку по дескриптору функции. Возвращает кнопку для основной функции в дескрипторе /// </summary> /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param> private static RibbonButton GetSmallButton(IIntellectualEntityDescriptor descriptor) { return(RibbonHelpers.AddSmallButton( descriptor.Name, descriptor.LName, GetSmallIconForFunction(descriptor.Name, descriptor.Name), descriptor.Description, descriptor.FullDescription, GetHelpImageForFunction(descriptor.Name, descriptor.ToolTipHelpImage), "help/mpeskd")); }
/// <summary> /// Получить большую кнопку по дескриптору функции. Возвращает кнопку для основной функции в дескрипторе /// </summary> /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param> /// <param name="orientation">Ориентация кнопки</param> private static RibbonButton GetBigButton(IIntellectualEntityDescriptor descriptor, Orientation orientation = Orientation.Vertical) { return(RibbonHelpers.AddBigButton( descriptor.Name, descriptor.LName, GetBigIconForFunction(descriptor.Name, descriptor.Name), descriptor.Description, orientation, descriptor.FullDescription, GetHelpImageForFunction(descriptor.Name, descriptor.ToolTipHelpImage), "help/mpeskd")); }
/// <summary> /// Получить список больших кнопок для вложенных команды по дескриптору /// </summary> /// <param name="descriptor">Дескриптор функции - класс, реализующий /// интерфейс <see cref="IIntellectualEntityDescriptor"/></param> /// <param name="orientation">Ориентация кнопки</param> private static List <RibbonButton> GetBigButtonsForSubFunctions( IIntellectualEntityDescriptor descriptor, Orientation orientation = Orientation.Vertical) { var buttons = new List <RibbonButton>(); for (var i = 0; i < descriptor.SubFunctionsNames.Count; i++) { buttons.Add(RibbonHelpers.AddBigButton( descriptor.SubFunctionsNames[i], descriptor.SubFunctionsLNames[i], GetBigIconForFunction(descriptor.Name, descriptor.SubFunctionsNames[i]), descriptor.SubDescriptions[i], orientation, descriptor.SubFullDescriptions[i], GetHelpImageForFunction(descriptor.Name, descriptor.SubHelpImages[i]), "help/mpeskd")); } return(buttons); }
/// <summary> /// Добавление регистрации приложения в соответствующую таблицу чертежа /// </summary> /// <param name="descriptor">Дескриптор интеллектуального объекта</param> public static void AddRegAppTableRecord(IIntellectualEntityDescriptor descriptor) { AddRegAppTableRecord(descriptor.Name); }