![]() |
#1
|
|||
|
|||
![]() Здравствуйте!
Возникли вопросы при работе с ленточным интерфейсом: 1) Как сделать так, чтобы лента отображалась только при условии, что активная модель ЦММ? ( И, если возможно, можете рассказать общий принцип отображения ленты в зависимости от выбранного объекта или окна (план/профиль/ поперечник)) 2) Как изменить местоположение "вкладки" относительно других элементов в ленте (см. рисунок)? Необходимо сделать так, чтобы вкладка оказалась в крайнем правом положении (Использование ключа( "priority": 1000) не дало результатов) 3) И за что отвечают цифры в названии картинок в папке "icons" ?(Пример, ic_3dglg_join_contours_16dp_2.5x.png) Заранее спасибо Последний раз редактировалось boris3698, 02-14-2022 в 16:01. |
#2
|
|||
|
|||
![]() Добрый день!
1. Принцип формирования ленты очень похож на принцип формирования меню и тулбаров через plugin файлы. Для того чтобы сделать отображение ленты в зависимости от активной модели, Вам необходимо прописать флаг, который за это отвечает и использовать его при объявлении ленты. Например, в файле ribbon.plugin в секции "ribbon"->"rbproj" объявлена лента для поверхности. Её появление зависит от переменной"surface", объявленной в секции "variables". Более подробно Вы можете ознакомится с синтаксисом этих файлов здесь, но к сожалению раздел находится в разработке. Код:
Разберём её подробнее. Он использует переменную - "readonly_dtm_flag", которая в свою очередь представляет собой две проверки - вызов системной функции "viewer" и системной функции "hasactivelayer". Переменная "readonly_dtm_flag" принимает значение 0 только в том случае, если программа не находится в режиме просмотра и на окне плана присутствует активный слой поверхности, который не находится в режиме только для чтения. Соответственно переменная "surface" принимает значение 0 только в том случае, если поверхность не находится в режиме только для чтения - это проверка переменной "readonly_dtm_flag" и тип текущей активной модели "dtm" - то есть модель поверхности - это поверка результата функции "get_active_model_type". 2. На текущий момент изменить положение вкладки Вы не можете. Это связано с техническим особенностями реализации ленты. В будущем мы предусмотрим такую возможность. 3. Цифры в названии иконок отвечают за размер и масштаб. Фактически возможны следующие комбинации - размер 16dp - маленькая иконка (например иконка на тулбаре), 32dp - большая иконка (например иконка на большой кнопке ленты). Масштабы 1.0, 1.5, 2.0, 2.5, 3.0 - масштабы предназначены для мониторов с высокой чёткости, чем выше чёткость - тем более крупный масштаб будет использоваться. Если программа не найдёт иконку нужного масштаба или размера - она попытается использовать иконку 16dp масштаб 1.0 или просто без масштаба и выведет в список ошибок предупреждение об отсутствии. |
#3
|
|||
|
|||
![]() Большое спасибо, всё получилось! Единственное - в функции "get_active_model_type" есть лишний пробел
|
#4
|
|||
|
|||
![]() Здравствуйте!
Подскажите пожалуйста, как сделать так, чтобы кнопка "button" имела отличную, от прописанной в разделе "actions" иконку? Добавление пары "icon": "Новая иконка" не дало результатов. Пришлось делать на эту же команду отдельный action. Заранее спасибо. |
#5
|
|||
|
|||
![]() Добрый день!
Так сделать нельзя - Вам необходимо прописать отдельный action с новой иконкой и использовать его в Вашей кнопке. Это сделано для унификации - чтобы для одинаковых команд иконка всегда и везде была одна и та же. |
#6
|
|||
|
|||
![]() Здравствуйте! Хочу немного дополнить тему, вдруг кому пригодится.
В файле .plugin название файла иконки нужно писать без всяких префиксов (Например, ic_3dglg_join_contours). Здесь мы указали какую картинку нужно искать в папке icons. А вот уже названия файлов изображения содержит в себе соответствующие префиксы ( ic_3dglg_join_contours_16dp_1x.png, ic_3dglg_join_contours_32dp_1x.png). Обратите внимание, что в папке содержатся два файла для одной иконки, это нужно для того, чтобы при выборе различных опций подгружались разные картинки. У нас есть какая-то команда: на ленте она отображается в виде большой кнопки "large", для отображения иконки на ленте программа будет обращаться к файлу (ic_3dglg_join_contours_32dp_1x.png). А при отображении этой же команды в истории изменений, программа будет обращаться к файлу (ic_3dglg_join_contours_16dp_1x.png) |
Навигация по основному сайту |
Главная | Каталог продуктов и услуг | Где купить | Сопровождение |
Вакансии | О компании | Обзоры | Канал на YouTube |