Не выходит добавить собственный пункт в под меню у таблицы

Программирование для CATIA.

Не выходит добавить собственный пункт в под меню у таблицы

Сообщение sochnev_ve » 21 июл 2021 16:47

Здравствуйте уважаемые специалисты CAA RADE! Надеюсь на Вашу помощь и совет.
Возникла проблема с добавление собственного под меню (CATIContextualSubMenu) у обычной таблицы (тип DrwTable) в drafting. Ориентировался на пример CAAMechanicalModeler.edu\CAAMmrCombinedCurveUI.m, хотя там конечно не для drafting'a делают. При компиляции ошибок нет, но в момент когда хочу вызвать это меню не вызывается даже конструктор класса с моей под менюшкой.
Ниже Definition должен быть мой пункт меню, но он не создаётся.
Есть подозрение, что у DrwTable есть доступ к интерфейсу CATIContextualSubMenu и поэтому не получается добавить своё пункт. Пробовали сделать на другой тип, конкретно на DrwText и у него, судя по CAA V5 Object Browser, нет доступа с такому интерфейсу, но при этом новый пункт меню добавился. Исходя из этого наблюдения возникло такое подозрение.
Была попытка создания своего Definition (конкретно через CATIEdit) - дабл клик по объекту или через подменю->Definiton - сначала не вышло, но когда попробовали закоментить в файле CATIA\winb_64\code\dictionary\DraftingCommands.dic строки, связанные со стандартным CATIEdit - запустилась моя команда. Однако такой же подход не сработал с подменю (да и вообще такой подход не вариант, т.к. CATIEdit меняется у всего типа DrwTable, а не только у нужной таблицы).

изображение_2021-07-21_163041.png
Макрос имплементации класса и его связывание с CATIContextualSubMenu
изображение_2021-07-21_163041.png (9.2 КБ) Просмотров: 5101


Виртуальный метод для связки с CATIContextualSubMenu (тут нужно делать фильтрацию по имени объекта, с которого вызываем меню, т.к. не нужно вызывать на все таблицы)


Объявление класса в .h файле


Буду благодарен за любую помощь.
sochnev_ve
Новичок
Новичок
 
Сообщения: 8
Зарегистрирован: 21 июл 2021 13:14

Re: Не выходит добавить собственный пункт в под меню у табли

Сообщение Wireless_Fidelity » 31 авг 2021 23:43

В целом, эта ситуация типична для стандартных фич, к которым относится и таблица.
Dassault из коробки реализовало свое меню, которое мы можем лишь полностью изменить, но не дополнить.

Решение "в лоб" я вижу только одно - создать свою фичу, которая будет максимально повторять стандартную таблицу.
На практике же достаточно добавить обычные (не контекстные) команды, которые будут что-либо делать с выбранной в данный момент таблицей.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Не выходит добавить собственный пункт в под меню у табли

Сообщение sochnev_ve » 18 окт 2021 09:29

Спасибо за совет! Получилось обойти эту проблему созданием собственного меню, в которое уже добавил нужные мне команды + стандартные, через вызов Hdr и вставки в новое меню. Получилось будто стандартное меню, но с расширенными возможностями.
Добавление стандартных команд.PNG
Добавление стандартных команд в собственное меню
Добавление стандартных команд.PNG (5.85 КБ) Просмотров: 4534
sochnev_ve
Новичок
Новичок
 
Сообщения: 8
Зарегистрирован: 21 июл 2021 13:14

Re: Не выходит добавить собственный пункт в под меню у табли

Сообщение sochnev_ve » 18 окт 2021 11:06

Я на форуме новичок, не знаю как закрыть тему, подскажите пожалуйста.
sochnev_ve
Новичок
Новичок
 
Сообщения: 8
Зарегистрирован: 21 июл 2021 13:14


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron