Настройка создания диалоговых окон и вкладок для отображения данных пользовательских объектов.
Требования
Для поддержки пользовательских объектов необходимы три компонента:
По умолчанию с Data Standard поставляются все три компонента. Они настроены для работы с пользовательским объектом в Vault под названием Task.
С помощью конфигурации Vault создайте определение пользовательского объекта и назовите его Task.
Назначение свойств Title и Description категории Base.
Перезапустите Vault Explorer и войдите в Vault дважды.
Новый пользовательский объект Task инициализирован и готов к использованию.
Создайте новый пользовательский объект с помощью команды "Создать" и присвойте ему любое имя.
Щелкните правой кнопкой мыши новый пользовательский объект. Теперь в контекстном меню отображаются параметры «Новая задача» и «Редактировать задачу».
Для определения собственного пользовательского объекта скопируйте три компонента из образца Task и измените их необходимым образом.
Ниже приводится пример пользовательского объекта Person.
Записи контекстного меню для создания и редактирования диалогового окна определяются здесь:
%programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\MenuDefinitions.xml
Необходимо создать определения записей меню.
Скопируйте определения (MenuItem NewTask, MenuItem EditTask) из примера Task.
Замените Task на Person во всех переменных.
Измените типы Description, Hint, Label и Navigation.
<NewTask Label="CreatePerson..."
Description="New Person"
Hint="Create a new person object"
PSFile="CreateCustomObject.ps1"
Image="NewCustomObject.ico"
ToolbarPaintStyle="TextAndGlyph"
NavigationTypes="Person"
MultiSelectEnabled="false"/>
<EditTaskLabel="Edit Person..."
Description="Edit Person"
Hint="Edit a person object"
PSFile="EditCustomObject.ps1"
Image="EditCustomObject.ico"
ToolbarPaintStyle="TextandGlyph"
NavigationTypes="Task"
MultiSelectEnabled="False"/>
Далее следует создать узел меню для нового пользовательского объекта.
Скопируйте узел (CommandSite Task) из примера Task.
Замените Task на Person во всех переменных.
<TaskLabel="Person"
DeployAsPullDown="False"
Location="Person">
<ItemName="NewPerson">
</Item>
<ItemName="EditPerson">
</Item>
Дополнительную информацию о синтаксисе меню см. в разделе Адаптация файла Data Standard MenuDefinitions.xml.
Определения меню в файле MenuDefinitions.xml указывают на файлы PowerShell. Эти файлы находятся в папке %programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\addinVault\Menus.
Используемые по умолчанию файлы PowerShell CreateCustomObject.ps1 и EditCustomObject.ps1 применимы для каждого пользовательского объекта. Нет необходимости создавать дополнительные файлы PowerShell. Однако их можно адаптировать и создать файлы PowerShell для новых пользовательских объектов, выполнив следующие действия.
Скопируйте файлы определений меню CreateCustomObject.ps1 и EditCustomObject.ps1, а затем измените их имена на CreatePerson.ps1 и EditPerson.ps1.
Аналогично другим сценариям, сценарии создания и редактирования пользовательских объектов указывают на соответствующий файл XAML.
Измените имя файла XAML, который определяет диалоговое окно Data Standard, заменив Task на Person.
...
$xamlFile = New-Object CreateObject.WPF.XamlFile "PersonXaml", "%ProgramData%\Autodesk\Vault 2016\Extensions\DataStandard\Vault\Configuration\Person.xaml"
$dialog.XamlFile = $xamlFile
...
Файл XAML для диалогового окна создания и редактирования пользовательских объектов указан в файлах PowerShell (см. выше). По умолчанию файлы XAML для создания и редактирования диалоговых окон и вкладок расположены здесь:
%programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\Configuration
Используемый по умолчанию файл CustomObject.xaml применяется без каких-либо изменений. Тем не менее в качестве шаблона при создании файла XAML для нового пользовательского объекта следует использовать файл CustomObject.xaml.
Скопируйте файл CustomObject.xaml и измените его имя на Person.xaml.
Измените новый файл XAML, выполнив следующие действия.
TaskWindow
на PersonWindow
.UIString[LBL61]
и UIString[LBL62]
.Измените следующие функции в %programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\addinVault\Default.ps1, настроив:
InitializeWindow
для изменения размера диалогового окна;GetCategories
для поддержки динамических свойств на основе категорий;Validate
для реализации правил проверки.