Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <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"));
 }
Esempio n. 4
0
 /// <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"));
 }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
 /// <summary>
 /// Добавление регистрации приложения в соответствующую таблицу чертежа
 /// </summary>
 /// <param name="descriptor">Дескриптор интеллектуального объекта</param>
 public static void AddRegAppTableRecord(IIntellectualEntityDescriptor descriptor)
 {
     AddRegAppTableRecord(descriptor.Name);
 }