Настройка пользовательского интерфейса при установке приложений на nanoCAD Plus 8.5

wkasx5o5qgdboxzfzsdpgemaj-w.png

Для значительного числа пользователей установка приложения равнозначна появлению ярлыка на рабочем столе или кнопки на панели инструментов. В данной статье мы рассмотрим механизм добавления меню и панелей инструментов для пользовательских приложений, устанавливаемых на nanoCAD Plus 8.5, а также разберём процедуру создания ярлыка, который позволит запускать конкретное пользовательское приложение в среде nanoCAD.

Для тех, кому интереснее попробовать, чем читать описание, сразу же приводим ссылку на дистрибутив приложения «Примеры nanoCAD SDK 8.5». После установки данного приложения при запуске nanoCAD Plus 8.5 будут автоматически загружаться примеры, созданные на LISP, C++, С#, VB.NET, JScript и VBScript, а в пользовательский интерфейс будут добавляться выпадающее меню и панель инструментов (как на заглавном скриншоте), позволяющие вызывать команды примеров.

Для начала проиллюстрируем готовое приложение для установки примеров, идущих в комплекте с nanoCAD Plus 8.5 — «Примеры nanoCAD SDK 8.5», а затем рассмотрим, как включить в его состав файл описания меню и панелей инструментов.

yglfufltcwhbisu3v-fusadpcno.png

Обзор установщика примеров


Инсталлятор примеров для nanoCAD представляет собой файл в формате Windows Installer с именем SamplesApp<версия>.msi. После запуска он построит список установленных версий nanoCAD, совместимых с инсталлятором, и предложит выбрать, на какие версии устанавливать приложение, а на какие — нет:

b5wvkp9pwsllcatarxiujk_ybhm.png

2_l4wisvky7wp7pebenrbgbc_ui.png

gpejpiiph0k_rat0rackq8zfhps.png

Папка установки: C:\Program Files (x86)\Nanosoft\Примеры nanoCAD SDK 8.5\NCAD80×64.
Установленное приложение «Примеры nanoCAD SDK 8.5» следует добавить в список автозагрузки:

muo8bbnn8ujco8ksscc2ej9t0m4.png

При запуске nanoCAD 8.5 в командную строку выводится сообщение о загружаемом приложении:

rmydh7by906ih641alempg38hjk.png

Загруженные команды можно выполнить:

• из командной строки,
• из установленного вместе с приложением выпадающим меню:

llhdyckmbyagngccbkyzfn8oc0c.png

• или при помощи панели инструментов nanoCAD SDK, куда вынесены некоторые команды примеров SDK:

w7irxnlzgsldddyjmfuqxsibupi.png

Что устанавливает инсталлятор


Для каждой из выбранных в процессе установки версий nanoCAD, инсталлятор создает директорию с файлами примеров:

ga7sbzbh-dwc8jyi23xrnun3ahs.png

Для платформ 8.0–8.5 устанавливается полный набор примеров (папка NCAD80×64), а для предыдущих версий платформы устанавливаются только скрипты (JS, VBS), не требующие пересборки под каждую платформу (папки получают имена по номеру версии: NC70×64 и т.п.). Это не является ограничением технологии установки приложений: если построить примеры SDK всех предыдущих версий, то можно создать единый инсталлятор, который будет устанавливать полный набор примеров на все поддерживаемые платформы.

czyoppr3zrkq1iadt2zvdp1vt6s.png

Файл описания приложения (*.package)


atnzkgun2iy__ckb83kiljn4prk.png

Кроме файлов приложений, в папке с установленными примерами находится файл пакета — с расширением .package, который содержит всю необходимую информацию о пользовательских конфигурациях nanoCAD (включая приложения для загрузки и пользовательские меню) и позволяет загружать выбранную конфигурацию непосредственно при старте nanoCAD.
Рассмотрим пакетный файл для загрузки NRX-модулей из комплекта примеров для nanoCAD. Содержимое файла представляет собой следующую XML-структуру:




  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  


Элементы, которые используются для описания пакета:

• ApplicationPackage
• Components
• ConfigEntry
• ComponentEntry

Главный элемент ApplicationPackage содержит атрибут Name для задания имени приложения, которое по окончании загрузки будет отображаться в командной строке.

Элемент Components описывает компоненты пакета: загружаемый модуль приложения — элемент ComponentEntry, а также конфигурационный файл приложения с меню — ConfigEntry.

ComponentEntry содержит атрибуты: AppName — имя приложения, ModuleName — имя исполняемого модуля, ModuleType — тип модуля. Допускается использование следующих типов:

Параметры командной строки, создание ярлыка


Дистрибутив «Примеры nanoCAD SDK 8.5» добавляет приложение в автозагрузку и оно загружается при каждом запуске платформы. Рассмотрим ситуацию, когда приложение автоматически загружать не нужно, но оно должно загружаться при запуске nanoCAD с помощью специального ярлыка на рабочем столе Windows.

1. Отключим автозагрузку:

91n7norqjkh1e99kvggakrtnake.png

2. Создадим ярлык для «C:\Program Files\Nanosoft\nanoCAD x64 Plus 8.5\nCad.exe» (исходим из того, что вы установили nanoCAD x64 Plus 8.5 на диск C, в папку Program Files), назовем его «nanoCAD Plus 8.5 c Примерами SDK».lnk.

3. Добавим в командную строку параметры:

a. -r — Название стартовой конфигурации (NCADSamples),
b. -p — Название профиля (если не указан, соответствует названию стартовой конфигурации),
c. -g — путь к загружаемому приложению, может быть указан несколько раз.

При первом запуске при помощи нового ярлыка будет создан профиль, имя которого было указано в командной строке ярлыка:

lklnew6z9y_xt-q_qvxs4xtcp9y.png

Важно не путать понятия стартовой конфигурации и профиля:

  • Стартовая конфигурация — содержит информацию о том, какой основной и какие дополнительные файлы пользовательского интерфейса (*.cfg) загружены, а также ссылку на текущий профиль. Предназначена для создания независимых конфигураций (ярлыков), в которых запускаются приложения.
  • Профиль — содержит настройки программы. Различные стартовые конфигурации могут как ссылаться на различные, независимые профили, так и использовать одинаковые настройки, ссылаясь на один и тот же профиль.


Заключение


Исходный код инсталлятора примеров для nanoCAD входит в состав SDK. Для того, чтобы собрать инсталлятор самостоятельно, потребуется WiX Toolset версии 3.8. Пример файла с расширением .cfg также включен в состав SDK, описание процесса создания пользовательской панели инструментов и пользовательского меню nanoCAD приведено в статье.

© Habrahabr.ru