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

в 8:21, , рубрики: api, CAD/CAM, nanoCAD, Блог компании Нанософт, сапр

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

Для значительного числа пользователей установка приложения равнозначна появлению ярлыка на рабочем столе или кнопки на панели инструментов. В данной статье мы рассмотрим механизм добавления меню и панелей инструментов для пользовательских приложений, устанавливаемых на 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», а затем рассмотрим, как включить в его состав файл описания меню и панелей инструментов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<?xml version="1.0" encoding="utf-8" ?>

<ApplicationPackage
  xmlns="hostApplicationPackage/v01"
  Name="nanoCAD SDK Samples"
>
  <Components>
    <ConfigEntry
      FileName="NCADSDK.cfg"
      FileType="CFG"
    />
    <ComponentEntry
      AppName="HelloNRX minimal NRX sample"
      ModuleName="HelloNRX.nrx"
      ModuleType="NRX"
    />
    <ComponentEntry
      AppName="CrossCircle Object Enabler"
      ModuleName="CrossCircle.nrx"
      ModuleType="NRX"
    />
    <ComponentEntry
      AppName="CrossCircle Commands"
      ModuleName="CrossCircleUI.nrx"
      ModuleType="NRX"
    />
    <ComponentEntry
      AppName="CrossCircle Managed Wrapper"
      ModuleName="CrossCircleMg.dll"
      ModuleType="NRX"
    />
    <ComponentEntry
      AppName="CrossCircle Managed Commands"
      ModuleName="CrossCircleMgdList.dll"
      ModuleType="MGD"
    />
    <ComponentEntry
      AppName="HelloHost .NET Sample"
      ModuleName="HelloHost.dll"
      ModuleType="MGD"
    />
    <ComponentEntry
      AppName="HelloHost VB.NET Sample"
      ModuleName="HelloHostVB.dll"
      ModuleType="MGD"
    />
    <ComponentEntry
      AppName="MultiCAD Objects"
      ModuleName="McsObjects.dll"
      ModuleType="MultiCAD"
    />
    <ComponentEntry
      AppName="MultiCAD Symbols"
      ModuleName="Symbols.dll"
      ModuleType="MultiCAD"
    />
    <ComponentEntry
      AppName="MultiCAD .NET Symbols"
      ModuleName="SymbolsMgd.dll"
      ModuleType="MGD"
    />
    <ComponentEntry
      AppName="MultiCAD .NET CustomObjects"
      ModuleName="CustomObjects.dll"
      ModuleType="MGD"
    />
    <ComponentEntry
      AppName="NSF Commands"
      ModuleName="hello_nsf.nsf"
      ModuleType="NSF"
    />
    <ComponentEntry
      AppName="Tiles LISP Sample"
      ModuleName="Tiles.lsp"
      ModuleType="LISP"
    />
    <ComponentEntry
      AppName="Hello World DCL Sample"
      ModuleName="helloworld.lsp"
      ModuleType="LISP"
    />
    <ComponentEntry
      AppName="ListDialog DCL Sample"
      ModuleName="listdialog.lsp"
      ModuleType="LISP"
    />
    <ComponentEntry
      AppName="MessageBox DCL Sample"
      ModuleName="messagebox.lsp"
      ModuleType="LISP"
    />
    <ComponentEntry
      AppName="SinDialog DCL Sample"
      ModuleName="sindialog.lsp"
      ModuleType="LISP"
    />
  </Components>
</ApplicationPackage>

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

• ApplicationPackage
• Components
• ConfigEntry
• ComponentEntry

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Автор: nanoCAD_API

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js