ADN Open CIS
Сообщество программистов Autodesk в СНГ

11/03/2015

Автозагрузчик (Autoloader) - интеграция клавиши помощи F1

Следующая возможность автозагрузчика была представлена в AutoCAD 2013 – простой способ соединения команды и вашего файла помощи. Я занялся адаптацией под AutoCAD 2013 моего плагина DimensionPatrol который размещен в Магазине Приложений Autodesk. (Вы можете его скачать и изучить работающий пример).

Вот XML-файл из пакета (bundle) без секции компоненты AutoCAD 2012:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="AutoCAD" ProductType="Application" Name="DimensionPatrol" AppVersion="1.1.1" Description="ADN Plugin of the Month: DimensionPatrol" Author="Stephen Preston" Icon="./Contents/Resources/DimensionPatrol.bmp" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="http://labs.autodesk.com/utilities/ADN_Plugins" HelpFile="./Contents/Resources/ADNDimensionPatrolHelp.htm" ProductCode="{0A5FDE70-BDE5-4906-9663-D877B8C72EBE}" UpgradeCode="{EC5625DD-AB28-494A-8AA8-E188C2D3F899}">
  <CompanyDetails Name="Autodesk" Phone=" " Url="http://labs.autodesk.com/utilities/ADN_Plugins" Email="labs.plugins@autodesk.com" />
  <Components>
    <RuntimeRequirements SupportPath="./Contents/Resources" OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R19.0" SeriesMax="R19.0" />
    <ComponentEntry AppName="ADNPlugin-DimensionPatrol" Version="1.1.1" ModuleName="./Contents/Windows/2013/ADNPlugin-DimensionPatrol.dll" AppDescription="ADN Plugin of the Month: DimensionPatrol" LoadOnCommandInvocation="True">
      <Commands GroupName="ADNPLUGINS">
        <Command Local="DIMPATROL" Global="DIMPATROL" />
        <Command Local="DIMPATROLCOLOR" Global="DIMPATROLCOLOR" />
      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="ADNPlugin-DimensionPatrol" Version="1.1.1" ModuleName="./Contents/Resources/DimensionPatrol.cuix" AppDescription="ADN Plugin of the Month: DimensionPatrol" />
  </Components>
</ApplicationPackage>

Всё что вам необходимо сделать в вашем файле PackageContents.xml – это включить параметр HelpFile в элемент ApplicationPackage и включить несколько команд внутри одного или более элементов ComponentEntry. Теперь, когда вы нажмете F1 во ремя работы команды (или когда курсор висит над иконкой на Ленте, которой вызывается ваша команда), AutoCAD запустит ваш файл помощи.

[Замечание: Обязательно нужно включить элемент Commands если вы не установили флаг ‘LoadOnCommandInvocation’, но хотите интегрировать вашу обработку нажатия F1. Это вообще хорошая практика документировать ваши команды в XML в любом случае].

Как дополнительный бонус вы можете включить элемент HelpTopic для каждой из команд, чтобы показывалась соответствующая секция файла помощи, как здесь:

  •         <Command Local="DIMPATROL" Global="DIMPATROL" HelpTopic="CommandTopic1"/>
  •         <Command Local="DIMPATROLCOLOR" Global="DIMPATROLCOLOR" HelpTopic="CommandTopic2"/>

Без определенного элементаr HelpTopic AutoCAD просто покажет

  • ./Contents/Resources/ADNDimensionPatrolHelp.htm

в вашем проводнике. С HelpTopic он покажет

  • ./Contents/Resources/ADNDimensionPatrolHelp.htm#CommandTopic1

или

  • ./Contents/Resources/ADNDimensionPatrolHelp.htm#CommandTopic2

в зависимости от команды, для которой нажата клавиша F1.

Источник: http://adndevblog.typepad.com/autocad/2012/04/autoloaderf1-help-integration.html

 
 

Обсуждение: http://adn-cis.org/forum/index.php?topic=1921

Опубликовано 11.03.2015