Data Standards - Folder 'Project' Structurer coping

Data Standards - Folder 'Project' Structurer coping

Anonymous
Not applicable
1,642 Views
10 Replies
Message 1 of 11

Data Standards - Folder 'Project' Structurer coping

Anonymous
Not applicable

Hi all,

 

I have an issue. I was wondering if someone would be able to help with.

 

I have followed this 

 

https://forums.autodesk.com/t5/vault-customization/vault-data-standard-2019-structured-folder-copy-t...

 

I have my folder structure set up in 'Templates/Folder' but all I get is the top level folder come in. I need all sub folder to come in as well. don't know if someone else has come up against this?

 

Kind regards

0 Likes
1,643 Views
10 Replies
Replies (10)
Message 2 of 11

wangdu
Collaborator
Collaborator

Hi,

 

There's blog post here on creating a folder tree.

Does this help?

 

Wangdu

 

coolOrange

www.coolOrange.com

0 Likes
Message 3 of 11

Anonymous
Not applicable

I'm currently editing these and there's more than a couple issues im trying to figure out but this is what i've ended up with. 

0 Likes
Message 4 of 11

Anonymous
Not applicable

.

0 Likes
Message 5 of 11

Anonymous
Not applicable

Having issue loading the rest of these files

 

structuredfolder.xaml

 

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

<WPF:MainWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WPF="clr-namespace:CreateObject.WPF;assembly=CreateObject"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
x:Name="FolderWindow"
Background="#F0F0F0" SizeToContent="WidthAndHeight" ResizeMode="NoResize">
<Window.Resources>
<Style x:Key="DynamicDataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}"
Text="{WPF:ValidatedBinding Value, StringFormat=N}" IsEditable="True" BorderThickness="0" />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}" />
</Trigger>
<DataTrigger Binding="{Binding EnforceListValues}" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}" Text="{WPF:ValidatedBinding Value}"
IsEditable="False" BorderThickness="0"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ListValues.Count}" Value="0">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox Text="{WPF:ValidatedBinding Value, StringFormat=N}" BorderThickness="0" CharacterCasing="{Binding Case}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="DateTime">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<DatePicker SelectedDate="{WPF:ValidatedBinding Value}" SelectedDateFormat="Short"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="Bool">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox Text="{WPF:ValidatedBinding Value}" IsEditable="True">
<ComboBoxItem Content="True" />
<ComboBoxItem Content="False" />
</ComboBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DynamicDataGridLabelStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Height" Value="Auto" />
<Setter Property="Margin" Value="0,4,0,0" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="I****TestVisible" Value="False" />
</Style>
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type Label}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Height" Value="24" />
<Setter Property="Padding" Value="5,3,3,2" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="1,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding Content, RelativeSource={RelativeSource Self}}" Value="{x:Null}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="#ff0000" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Height" Value="24" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Setter Property="Padding" Value="5,3,3,2" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
<DataTrigger Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowColorKey}}" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="Required" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Style.Triggers>
<DataTrigger Binding="{Binding Text, RelativeSource={RelativeSource Self}}" Value="">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="Height" Value="24" />
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DatePicker}">
<Setter Property="Height" Value="25.5" />
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="NumSchmCtrlStyle" TargetType="{x:Type WPF:DSNumSchemeCtrl}">
<Setter Property="Height" Value="Auto" />
<Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding EditMode}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ButtonGridStyle" TargetType="{x:Type Grid}">
<Setter Property="Margin" Value="0,15,2,5" />
</Style>

<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>
<Grid x:Name="grdMain" Margin="5,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" ToolTip="Template Folder"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>

<GroupBox x:Name="GroupFolder" Grid.ColumnSpan="2" Margin="-6,0,0,5" BorderThickness="0" Header="{Binding UIString[LBL1], FallbackValue=Folder}" Visibility="{Binding CreateMode, Converter={StaticResource BooleanToVisibilityConverter}}">
<WrapPanel x:Name="BreadCrumb"
ItemWidth="165" Margin="1,0,0,0">
<WrapPanel.Resources>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Margin" Value="-1,0,0,0" />
<Setter Property="ToolTip" Value="{Binding SelectedValue.Name, RelativeSource = {RelativeSource Self}}"/>
</Style>
</WrapPanel.Resources>
</WrapPanel>

</GroupBox>

<Grid x:Name="grdSystemProps" Margin="0,45,0,0"
ToolTip="{Binding UIString[LBL73], FallbackValue='General Properties'}">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="120" />
<ColumnDefinition MinWidth="140" MaxWidth="220" />
</Grid.ColumnDefinitions>
<Label Content="{Binding UIString[LBL8], FallbackValue=Categories}" Grid.Row="0" Grid.Column="0" />
<ComboBox x:Name="Categories" Grid.Row="0" Grid.Column="1"
DisplayMemberPath="Name" SelectedItem="{Binding DynamicPropertiesCategory}"
SelectedValuePath="Name" SelectedValue="{Binding Prop[_Category].Value}"
ItemsSource="{Binding PsList[GetCategories], Mode=OneTime}"
IsEnabled="{Binding CreateMode}" />




<Label x:Name="lblNumSchm" Content="{Binding UIString[LBL10], FallbackValue=Numberingscheme}"
Visibility="{Binding Visibility, ElementName=NumSchms}" Grid.Row="1" />
<ComboBox x:Name="NumSchms" Grid.Row="1" Grid.Column="1"
DisplayMemberPath="Name"
SelectedValuePath="Name"
SelectedValue="{Binding Prop[_NumSchm].Value}"
ItemsSource="{Binding PsList[GetNumSchms], Mode=OneTime}"
IsEnabled="{Binding HasItems, RelativeSource={RelativeSource Self}}"
Visibility="{Binding NotEditMode, Converter={StaticResource BooleanToVisibilityConverter}}"/>

<Label x:Name="lblProjectNumber" Grid.Column="0" Content="{Binding UIString[LBL31], FallbackValue=Number}"
Grid.Row="2" Visibility="{Binding Visibility, ElementName=DSNumSchmsCtrl}" Height="Auto" />
<WPF:DSNumSchemeCtrl x:Name="DSNumSchmsCtrl" Style="{StaticResource NumSchmCtrlStyle}"
IsEnabled="{Binding IsEnabled, ElementName=NumSchms}"
Scheme="{Binding SelectedItem, ElementName=NumSchms}"
Visibility="{Binding CreateMode, Converter={StaticResource BooleanToVisibilityConverter}}"
GeneratedNumberProperty="_GeneratedNumber" Grid.Row="2" Grid.Column="1" />

<Label Content="{Binding UIString[LBL19], FallbackValue=Name}" Grid.Column="0" Grid.Row="3"
Visibility="{Binding Visibility, ElementName=FOLDERNAME}" />
<TextBox Text="{WPF:ValidatedBinding Name}" x:Name="FOLDERNAME"
IsReadOnly="{Binding EditMode}"
Visibility="{Binding NumSchmFieldsEmpty, ElementName=DSNumSchmsCtrl, Converter={StaticResource BooleanToVisibilityConverter}}"
Grid.Column="1" Grid.Row="3" />

<Label Content="{Binding UIString[LBL4], FallbackValue=State}" Grid.Column="0" Grid.Row="4" />
<TextBox Text="{Binding Prop[_XLTN_STATE].Value}" Grid.Column="1" Grid.Row="4" IsReadOnly="True"
IsTabStop="False" Height="Auto" />

<Label Content="{Binding UIString[LBL33], FallbackValue=Date Created}" Grid.Column="0" Grid.Row="5" />
<TextBox Text="{Binding Prop[_XLTN_CREATE DATE].Value, StringFormat=dd/MM/yyyy}" Grid.Column="1"
Grid.Row="5" IsReadOnly="True" IsTabStop="False" Height="Auto" />

<Label Content="{Binding UIString[LBL34], FallbackValue=Created By}" Grid.Column="0" Grid.Row="6"
BorderThickness="1" />
<TextBox Text="{Binding Prop[_XLTN_CREATED BY].Value}" Grid.Column="1" Grid.Row="6" IsReadOnly="True"
BorderThickness="0,1,1,1" IsTabStop="False" Height="Auto" />


<CheckBox x:Name="checkbox" Content="CheckBox" Grid.Column="1" Grid.Row="7" IsChecked="true" IsThreeState="False" />





</Grid>
<DataGrid Grid.Column="1" x:Name="DSDynCatPropGrid" MaxHeight="350"
ItemsSource="{Binding DynamicProperties}"
ToolTip="{Binding UIString[LBL63], FallbackValue='Category Properties'}"
AutoGenerateColumns="False"
HeadersVisibility="Column"
ScrollViewer.CanContentScroll="True"
HorizontalGridLinesBrush="WhiteSmoke"
VerticalGridLinesBrush="WhiteSmoke" BorderBrush="Gray" MaxWidth="600"
Margin="30,45,25,0" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" CellStyle="{StaticResource DynamicDataGridLabelStyle}"
MinWidth="160" Width="Auto" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL64], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Value}" Width="*" MinWidth="180"
CellStyle="{StaticResource DynamicDataGridCellStyle}" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL65], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Grid x:Name="ButtonGrid" Grid.ColumnSpan="2" Grid.Row="3" Style="{StaticResource ButtonGridStyle}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>

<GroupBox x:Name="TemplatePath" Header="{Binding UIString[TLT2], FallbackValue=Template Path}" Grid.Row="1" Grid.ColumnSpan="3" BorderThickness="0" Margin="-6,0,0,0"
ToolTip="{Binding UIString[TLT2], FallbackValue='Template Path'}">
<TextBox x:Name="TemplatePathTB" Text="{Binding Prop[FOLDERNAME].Value}"
IsReadOnly="True"
Background="#F0F0F0" BorderThickness="1" Margin="0,0,-6,0" />
</GroupBox>
<Button x:Name="btnOK" Content="{Binding UIString[BTN1], FallbackValue=OK}"
Command="{Binding CloseWindowCommand, ElementName=FolderWindow}"
IsEnabled="{Binding IsNotReadonly}" Grid.Column="2" Width="80" Height="24" IsDefault="True" />
<Button x:Name="btnEsc" Content="{Binding UIString[BTN2], FallbackValue=Esc}"
Command="{Binding CancelWindowCommand, ElementName=FolderWindow}" Grid.Column="4" Width="80"
HorizontalAlignment="Right" Height="24" IsCancel="True" />
</Grid>
</Grid>
</WPF:MainWindow>

0 Likes
Message 6 of 11

Anonymous
Not applicable

menudefinitions.xml

 

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

<!--
Label: Label string for the command, must be quoted
Description: Description text for the menucommand. Must be quoted
Hint: Hint string, must be quoted
PSFile: Name of the *ps1 file that contains the powershell script to execute when the menu command is invoked, value must be quoted.
Image: Name of a bitmap file that contains the image for the menu command. Image should be 16x16 or 32x32, value must be quoted.
ToolbarPaintStyle: Controls how the item is drawn on toolbars, values are Text, Glyph, TextAndGlyph
NavigationTypes: comma separated list of entities for which this command should be active. Values are Bom, ChangeOrder, File, FileVersion, Folder, Item, Other
MultiSelectEnabled: If true, command is active for multiple selections, can be true or false
-->
<mymenu>
<MenuItem>
<NewTask Label="$UIString[MNU22]" Description="$UIString[MNU17]" Hint="$UIString[MNU18]"
PSFile="CreateCustomObject.ps1" Image="NewCustomObject.ico" ToolbarPaintStyle="TextAndGlyph"
NavigationTypes="Task" MultiSelectEnabled="False" />
<EditTask Label="$UIString[MNU21]" Description="$UIString[MNU19]" Hint="$UIString[MNU20]"
PSFile="EditCustomObject.ps1" Image="EditCustomObject.ico" ToolbarPaintStyle="TextAndGlyph"
NavigationTypes="Task" MultiSelectEnabled="False" />
<NewFile Label="$UIString[MNU1]" Description="$UIString[MNU11]" Hint="$UIString[MNU7]" PSFile="CreateFile.ps1"
Image="NewStandardFile.ico" ToolbarPaintStyle="TextAndGlyph" NavigationTypes="File,Folder"
MultiSelectEnabled="False" />
<EditFile Label="$UIString[MNU2]" Description="$UIString[MNU12]" Hint="$UIString[MNU8]" PSFile="EditFile.ps1"
Image="EditFileDatasheet.ico" ToolbarPaintStyle="TextAndGlyph" NavigationTypes="File"
MultiSelectEnabled="False" />
<NewFolder Label="$UIString[MNU3]" Description="$UIString[MNU13]" Hint="$UIString[MNU9]" PSFile="CreateFolder.ps1"
Image="NewStandardFolder.ico" ToolbarPaintStyle="TextAndGlyph" NavigationTypes="Folder"
MultiSelectEnabled="False" />

<NewStructuredFolder Label="$UIString[MNU24]" Description="$UIString[MNU25]" Hint="$UIString[MNU26]" PSFile="CreateStructuredFolder.ps1"
Image="NewStructuredFolder.ico" ToolbarPaintStyle="TextAndGlyph" NavigationTypes="Folder"
MultiSelectEnabled="False" />


<EditFolder Label="$UIString[MNU4]" Description="$UIString[MNU14]" Hint="$UIString[MNU10]" PSFile="EditFolder.ps1"
Image="EditFolderDatasheet.ico" ToolbarPaintStyle="TextAndGlyph" NavigationTypes="Folder"
MultiSelectEnabled="False" />
<ShowLog Label="$UIString[MNU5]" Description="$UIString[MNU15]" Hint="$UIString[MNU5]" PSFile="ShowLog.ps1"
Image="Log.ico" ToolbarPaintStyle="TextAndGlyph" MultiSelectEnabled="False" />
<AboutDialog Label="$UIString[MNU6]" Description="$UIString[MNU16]" Hint="$UIString[MNU6]"
PSFile="ShowAboutDialog.ps1" Image="About.ico" ToolbarPaintStyle="TextAndGlyph"
MultiSelectEnabled="False" />
</MenuItem>

<!--
Label: String displayed as the label, e.g. for submenus, quoted
DeployAsPulldown: If true, used as submenu, values are true or false
Location: Specifies the location of the command site within the Vault CLient UI, values are
StandardToolbar, AdvancedToolbar, BehaviorsToolbar, ItemBomToolbar,
FileMenu, EditMenu, ActionsMenu, ToolsMenu, HelpMenu, FileContextMenu, FolderContextMenu, ChangeOrderContextMenu, ItemContextMenu
Items: list with MenuItems. Name should be same as the element name defined in the MenuItem.
-->

<CommandSite>
<FileContext Label="myMenu" DeployAsPullDown="False" Location="FileContextMenu">
<Item Name="NewFile"></Item>
<Item Name="EditFile"></Item>
<Item Name="NewStructuredFolder"></Item>
</FileContext>

<FolderContex Label="myMenu" DeployAsPullDown="False" Location="FolderContextMenu">
<Item Name="NewFile"></Item>
<Item Name="NewFolder"></Item>
<Item Name="NewStructuredFolder"></Item>
<Item Name="EditFolder"></Item>
</FolderContex>
<StandardToolbar Label="myMenu" DeployAsPullDown="False" Location="StandardToolbar">
<Item Name="NewFile"></Item>
<Item Name="EditFile"></Item>
</StandardToolbar>
<ToolsMenu Label="myMenu" DeployAsPullDown="False" Location="ToolsMenu">
<Item Name="ShowLog"></Item>
</ToolsMenu>
<HelpMenu Label="myMenu" DeployAsPullDown="False" Location="HelpMenu">
<Item Name="AboutDialog"></Item>
</HelpMenu>
<CustomObject Label="Task" DeployAsPullDown="False" Location="Task">
<Item Name="NewTask"></Item>
<Item Name="EditTask"></Item>
</CustomObject>
</CommandSite>

<!--
Comma separated list
To suppress the command "New Library Folder" add the following two commands to the list below:
NewLibraryFolder,NewLibraryFolderForContextMenus
To suppress "Rename" for folder add this line:
Folder.Rename
-->
<SuppressMenuItems>
NewFolder,NewFolderGroupMenu,NewFolderGroupButton,NewFolderForContextMenus
</SuppressMenuItems>
</mymenu>

0 Likes
Message 7 of 11

Anonymous
Not applicable

file.xaml

 

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

 

<WPF:MainWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
x:Name="FileWindow"
xmlns:WPF="clr-namespace:CreateObject.WPF;assembly=CreateObject"
AllowsTransparency="False" Background="#F0F0F0" ResizeMode="NoResize" SizeToContent="WidthAndHeight">
<Window.Resources>
<Style x:Key="DynamicDataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}"
Text="{WPF:ValidatedBinding Value, StringFormat=N}" IsEditable="True"
BorderThickness="0" />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}" />
</Trigger>
<DataTrigger Binding="{Binding EnforceListValues}" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}" SelectedItem="{WPF:ValidatedBinding Value}"
BorderThickness="0"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ListValues.Count}" Value="0">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox Text="{WPF:ValidatedBinding Value, StringFormat=N}" BorderThickness="0" CharacterCasing="{Binding Case}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="DateTime">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<DatePicker SelectedDate="{WPF:ValidatedBinding Value}" SelectedDateFormat="Short"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="Bool">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox Text="{WPF:ValidatedBinding Value}" IsEditable="True">
<ComboBoxItem Content="True" />
<ComboBoxItem Content="False" />
</ComboBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DynamicDataGridLabelStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Height" Value="22" />
<Setter Property="Margin" Value="0,4,0,0" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="I****TestVisible" Value="False" />
</Style>
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type Label}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Padding" Value="5,3,3,2" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="1,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding Content, RelativeSource={RelativeSource Self}}" Value="{x:Null}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="#ff0000" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Setter Property="Padding" Value="5,3,3,2" />
<Setter Property="TextWrapping" Value="Wrap"></Setter>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
<DataTrigger Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowColorKey}}" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DatePicker}">
<Setter Property="Height" Value="22" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="Required" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Style.Triggers>
<DataTrigger Binding="{Binding Text, RelativeSource={RelativeSource Self}}" Value="">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="NumSchmCtrlStyle" TargetType="{x:Type WPF:DSNumSchemeCtrl}">
<Setter Property="Height" Value="Auto" />
<Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding EditMode}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>

 

 

 

<Style x:Key="TemplateCbStyle" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Style.Triggers>
<DataTrigger Binding="{Binding CreateMode}" Value="True">
<Setter Property="ItemsSource" Value="{Binding Templates}" />
</DataTrigger>
<DataTrigger Binding="{Binding EditMode}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=TemplateTB, Path=Visibility}" Value="Visible">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>

 

 

 

 

 


<Style x:Key="ButtonGridStyle" TargetType="{x:Type Grid}">
<Setter Property="Margin" Value="0,15,2,5" />
</Style>

<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />



<CollectionViewSource x:Key="TemplatesViewSource" Source="{Binding Path=Templates}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions> </CollectionViewSource>



</Window.Resources>



<Grid x:Name="grdMain" Margin="5,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" ToolTip="Template Folder"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<GroupBox x:Name="GroupFolder" Grid.ColumnSpan="2" Margin="-6,0,0,5" BorderThickness="0" Header="{Binding UIString[LBL1], FallbackValue=Folder}" Visibility="{Binding CreateMode, Converter={StaticResource BooleanToVisibilityConverter}}">
<WrapPanel x:Name="BreadCrumb"
ItemWidth="165" Margin="1,0,0,0">
<WrapPanel.Resources>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Margin" Value="-1,0,0,0" />
<Setter Property="ToolTip" Value="{Binding SelectedValue.Name, RelativeSource = {RelativeSource Self}}"/>
</Style>
</WrapPanel.Resources>
</WrapPanel>

</GroupBox>
<Grid x:Name="grdGeneralProps" Margin="0,45,0,0"
ToolTip="{Binding UIString[LBL73], FallbackValue='General Properties'}"
Width="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="220"/>

</Grid.ColumnDefinitions>
<Label Content="{Binding UIString[LBL8], FallbackValue=Categories}" Grid.Row="0" Grid.Column="0" />
<ComboBox x:Name="Categories" ItemsSource="{Binding PsList[GetCategories], Mode=OneTime}"
DisplayMemberPath="Name" SelectedItem="{Binding DynamicPropertiesCategory}"
SelectedValuePath="Name" SelectedValue="{Binding Prop[_Category].Value}" SelectedIndex="0"
Grid.Row="0" Grid.Column="1"
IsEnabled="{Binding CreateMode}" />


<Label Content="{Binding UIString[LBL9], FallbackValue=Templates}" Grid.Row="4" Grid.Column="0" >
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="1,1,1,0" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding EditMode}" Value="True" />
<Condition Binding="{Binding Visibility, ElementName=TemplateCB}"
Value="Collapsed" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Collapsed" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>

 

 


<ComboBox x:Name="TemplateCB" ItemsSource="{Binding Source={StaticResource TemplatesViewSource}}" Grid.Row="4" Grid.Column="1" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedTemplate}" Style="{StaticResource TemplateCbStyle}" />

 

 


<TextBox x:Name="TemplateTB" Grid.Row="4" Grid.Column="1" Text="{Binding UIString[LBL28]}" I****TestVisible="False">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="TextWrapping" Value="Wrap"></Setter>
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding SelectedItem, ElementName=TemplateCB}"
Value="{x:Null}" />
<Condition Binding="{Binding CreateMode}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
<Setter Property="Background" Value="#F0F0F0" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<Label Content="{Binding UIString[LBL10],FallbackValue=Numberingscheme}" Grid.Column="0" Grid.Row="5"
Visibility="{Binding Visibility, ElementName=NumSchms}" />
<ComboBox Grid.Column="1" Grid.Row="5"
x:Name="NumSchms" DisplayMemberPath="Name"
SelectedValuePath="Name"
SelectedValue="{Binding Prop[_NumSchm].Value}"
ItemsSource="{Binding PsList[GetNumSchms], Mode=OneTime}"
IsEnabled="{Binding HasItems, RelativeSource={RelativeSource Self}}"
Visibility="{Binding NotEditMode, Converter={StaticResource BooleanToVisibilityConverter}}" />
<Label Content="{Binding UIString[LBL31], FallbackValue=Number}" Grid.Column="0" Grid.Row="6" Height="Auto"
Visibility="{Binding Visibility, ElementName=DSNumSchmsCtrl}" />
<WPF:DSNumSchemeCtrl Grid.Column="1" Grid.Row="6" x:Name="DSNumSchmsCtrl"
IsEnabled="{Binding ElementName=NumSchms, Path=IsEnabled}"
Scheme="{Binding ElementName=NumSchms, Path=SelectedItem}"
GeneratedNumberProperty="_GeneratedNumber" Style="{StaticResource NumSchmCtrlStyle}" />
<Label Content="{Binding UIString[LBL5],FallbackValue=Path}" Grid.Column="0" Grid.Row="8"
BorderThickness="1" />
<TextBox Text="{WPF:ValidatedBinding Prop[_FilePath].Value}" Grid.Column="1" Grid.Row="8" IsReadOnly="True"
IsTabStop="False" BorderThickness="0,1,1,1" />
<Label Content="{Binding UIString[LBL6],FallbackValue=Filename}" Grid.Row="7" Grid.Column="0"
Visibility="{Binding NumSchmFieldsEmpty, ElementName=DSNumSchmsCtrl, Converter={StaticResource BooleanToVisibilityConverter}}" />
<TextBox Grid.Row="7" Grid.Column="1" x:Name="FILENAME" Text="{WPF:ValidatedBinding Name}"
IsTabStop="False"
Visibility="{Binding NumSchmFieldsEmpty, ElementName=DSNumSchmsCtrl, Converter={StaticResource BooleanToVisibilityConverter}}" />
</Grid>
<DataGrid Grid.Column="1" x:Name="DSDynCatPropGrid" MaxHeight="350"
ItemsSource="{Binding DynamicProperties}"
ToolTip="{Binding UIString[LBL63], FallbackValue='Category Properties'}"
AutoGenerateColumns="False"
HeadersVisibility="Column"
ScrollViewer.CanContentScroll="True"
HorizontalGridLinesBrush="WhiteSmoke"
VerticalGridLinesBrush="WhiteSmoke" BorderBrush="Gray" MaxWidth="600"
Margin="30,45,25,0" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" CellStyle="{StaticResource DynamicDataGridLabelStyle}"
MinWidth="160" Width="Auto" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL64], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Value}" Width="*"
CellStyle="{StaticResource DynamicDataGridCellStyle}" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL65], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>

<Grid x:Name="ButtonGrid" Style="{StaticResource ButtonGridStyle}" Grid.Row="3" Grid.ColumnSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<GroupBox x:Name="TemplatePath" Header="{Binding UIString[TLT2], FallbackValue=Template Path}" Grid.Row="1" Grid.ColumnSpan="3" BorderThickness="0" Margin="-6,0,0,0"
ToolTip="{Binding UIString[TLT2], FallbackValue='Template Path'}">
<TextBox x:Name="TemplatePathTB" Text="{Binding TemplatePath}"
IsReadOnly="True"
Background="#F0F0F0" BorderThickness="1" Margin="0,0,-6,0" />
</GroupBox>
<Button x:Name="btnOK" Content="{Binding UIString[BTN1], FallbackValue=OK}"
Command="{Binding CloseWindowCommand, ElementName=FileWindow}" IsEnabled="{Binding IsNotReadonly}" Grid.Row="2"
Grid.Column="2" Width="80" Height="24" IsDefault="True" />
<Button x:Name="btnEsc" Content="{Binding UIString[BTN2], FallbackValue=Esc}"
Command="{Binding CancelWindowCommand, ElementName=FileWindow}" Grid.Row="2" Grid.Column="4" Width="80"
HorizontalAlignment="Right" Height="24" IsCancel="True" />
</Grid>
</Grid>
</WPF:MainWindow>

0 Likes
Message 8 of 11

Anonymous
Not applicable

UIStrings.xml

 

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

<UIStrings LanguageCode="en-US">
<!--Labels used in XAMLs-->
<UIString ID="LBL1">Folder</UIString>
<UIString ID="LBL2">Title</UIString>
<UIString ID="LBL3">Description</UIString>
<UIString ID="LBL4">State</UIString>
<UIString ID="LBL5">Path</UIString>
<UIString ID="LBL6">File Name</UIString>
<UIString ID="LBL7">Comments</UIString>
<UIString ID="LBL8">Category</UIString>
<UIString ID="LBL9">Template</UIString>
<UIString ID="LBL10">Number Scheme</UIString>
<UIString ID="LBL11">Folder Name</UIString>
<UIString ID="LBL12">Revision</UIString>
<UIString ID="LBL13">Version</UIString>
<UIString ID="LBL14">Lifecycle State</UIString>
<UIString ID="LBL15">Position</UIString>
<UIString ID="LBL16">Part Number</UIString>
<UIString ID="LBL17">Quantity</UIString>
<UIString ID="LBL18">Component Type</UIString>
<UIString ID="LBL19">Name</UIString>
<UIString ID="LBL20">Change Order Number</UIString>
<UIString ID="LBL21">Due Date</UIString>
<UIString ID="LBL22">Change Order Title</UIString>
<UIString ID="LBL23">Document Type</UIString>
<UIString ID="LBL24">New File</UIString>
<UIString ID="LBL25">Edit File Datasheet</UIString>
<UIString ID="LBL26">(Read Only)</UIString>
<UIString ID="LBL27">[Assigned]</UIString>
<UIString ID="LBL28">Add template folders and files first</UIString>
<UIString ID="LBL29">New Folder</UIString>
<UIString ID="LBL30">Edit Folder Datasheet</UIString>
<UIString ID="LBL31">Number</UIString>
<UIString ID="LBL32">Detailed Description</UIString>
<UIString ID="LBL33">Create Date</UIString>
<UIString ID="LBL34">Created By</UIString>
<UIString ID="LBL35">Please fill out all required fields in order to continue</UIString>
<UIString ID="LBL36">Datasheet</UIString>
<UIString ID="LBL37">Associated Files</UIString>
<UIString ID="LBL38">CAD BOM</UIString>
<UIString ID="LBL39">New Files - Tube and Pipe</UIString>
<UIString ID="LBL40">Run Assemblies</UIString>
<UIString ID="LBL41">Container Assemblies</UIString>
<UIString ID="LBL42">Route Part(s)</UIString>
<UIString ID="LBL43">Run Components</UIString>
<UIString ID="LBL44">New Files - Cable and Harness</UIString>
<UIString ID="LBL45">Harness Container Assemblies</UIString>
<UIString ID="LBL46">Cable and Harness Container Assemblies</UIString>
<UIString ID="LBL47">Harness Part(s)</UIString>
<UIString ID="LBL48">Cable and Harness Part(s)</UIString>
<UIString ID="LBL49">Copy properties to part</UIString>
<UIString ID="LBL50">New Files - Design Accelerator</UIString>
<UIString ID="LBL51">Design Accelerator Assemblies</UIString>
<UIString ID="LBL52">Design Accelerator Container Assemblies</UIString>
<UIString ID="LBL53">Design Accelerator Components</UIString>
<UIString ID="LBL54">New Files - Frame Generator</UIString>
<UIString ID="LBL55">Frame Assemblies</UIString>
<UIString ID="LBL56">Frame Skeleton Part(s)</UIString>
<UIString ID="LBL57">Frame Components</UIString>
<UIString ID="LBL58">Thumbnail</UIString>
<UIString ID="LBL59">Will be generated</UIString>
<UIString ID="LBL60">Copy of</UIString>
<UIString ID="LBL61">New Custom Object</UIString>
<UIString ID="LBL62">Edit Custom Object Datasheet</UIString>
<UIString ID="LBL63">Category Properties</UIString>
<UIString ID="LBL64">Property Name</UIString>
<UIString ID="LBL65">Property Value</UIString>
<UIString ID="LBL66">Drawing Title</UIString>
<UIString ID="LBL67">Drawing Subtitle</UIString>
<UIString ID="LBL68">Author</UIString>
<UIString ID="LBL69">Subject</UIString>
<UIString ID="LBL70">Keywords</UIString>
<UIString ID="LBL71">Save As Type</UIString>
<UIString ID="LBL72">Save copy as</UIString>
<UIString ID="LBL73">General Properties</UIString>
<UIString ID="LBL74">Set options for selected file format</UIString>
<UIString ID="LBL75">Material</UIString>
<UIString ID="LBL76">Stock Number</UIString>
<UIString ID="LBL77">None</UIString>
<!-- TIB 10/25/18-->
<UIString ID="LBL78">Folder Type</UIString>
<!-- TIB 10/25/18-->
<UIString ID="BTN1">OK</UIString>
<UIString ID="BTN2">Cancel</UIString>
<UIString ID="BTN3">Options</UIString>
<!--Text strings used in MNU file-->
<UIString ID="MNU1">New Standard File ...</UIString>
<UIString ID="MNU2">Edit File Datasheet ...</UIString>
<UIString ID="MNU3">New Standard Folder ...</UIString>
<UIString ID="MNU4">Edit Folder Datasheet...</UIString>
<UIString ID="MNU5">Show Data Standard Log Window</UIString>
<UIString ID="MNU6">About Autodesk Vault Data Standard</UIString>
<UIString ID="MNU7">Create a new file</UIString>
<UIString ID="MNU8">Edit a file data</UIString>
<UIString ID="MNU9">Create a new folder</UIString>
<UIString ID="MNU10">Edit folder data</UIString>
<UIString ID="MNU11">New Standard file</UIString>
<UIString ID="MNU12">Edit file</UIString>
<UIString ID="MNU13">New Folder</UIString>
<UIString ID="MNU14">Edit Folder</UIString>
<UIString ID="MNU15">Show Log</UIString>
<UIString ID="MNU16">Show About Dialog</UIString>
<UIString ID="MNU17">New Custom Object</UIString>
<UIString ID="MNU18">Create a new custom object</UIString>
<UIString ID="MNU19">Edit Custom Object</UIString>
<UIString ID="MNU20">Edit a custom object</UIString>
<UIString ID="MNU21">Edit Custom Object...</UIString>
<UIString ID="MNU22">New Custom Object...</UIString>
<UIString ID="MNU23">Custom Object</UIString>
<!-- TIB 10/26/18-->
<UIString ID="MNU24">New Structured Folder ...</UIString>
<UIString ID="MNU25">New Structured Folder</UIString>
<UIString ID="MNU26">Create a Structured Folder</UIString>
<!-- TIB 10/26/18-->
<!--Messages used in Message Boxes-->
<UIString ID="MSG1">This function is not allowed for CAD documents in Vault Office Client</UIString>
<UIString ID="MSG2">"Successfully loaded new custom object definitions! Please restart Vault Explorer to use them in Data Standard dialogs!"</UIString>
<UIString ID="MSG3">"There is no connection to Vault! Do you want to login now?"</UIString>
<UIString ID="MSG4">"A file with this name already exists. Please choose another name."</UIString>
<UIString ID="MSG5">Warning</UIString>
<UIString ID="MSG6">More than one entry found for menu item {0}. Please correct the file 'MenuDefinitions.xml' and restart the vault again.</UIString>
<UIString ID="MSG7">The label attribute for the menu item {0} could not be found. Please correct the file 'MenuDefinitions.xml' and restart the vault again.</UIString>
<UIString ID="MSG8">The PS1File attribute for the menu item {0} could not be found. Please correct the file 'MenuDefinitions.xml' and restart the vault again.</UIString>
<UIString ID="MSG9">The Location attribute for the command site {0} could not be found. Please correct the file 'MenuDefinitions.xml' and restart the vault again.</UIString>
<!--Messages used in AutoCAD.cfg and Inventor.cfg-->
<UIString ID="CFG1">Copy of</UIString>
<UIString ID="CFG2">Copy_of_</UIString>
<!--Messages used in Validation Tooltip-->
<UIString ID="VAL1">Field should not be empty</UIString>
<UIString ID="VAL2">Field should contain values from {0}</UIString>
<UIString ID="VAL3">Minimum Length of {0} characters required</UIString>
<UIString ID="VAL4">Too Long. Length must not exceed {0}</UIString>
<UIString ID="VAL5">Minimum Date {0} required</UIString>
<UIString ID="VAL6">Not in range of {0}</UIString>
<UIString ID="VAL7">Minimum value allowed is {0}</UIString>
<UIString ID="VAL8">Maximum value allowed is {0}</UIString>
<UIString ID="VAL9">Validation failed due to a Data Standard rule</UIString>
<UIString ID="VAL10">Input string was not in correct format</UIString>
<UIString ID="VAL11">Custom validation failed.</UIString>
<UIString ID="VAL12">A file with this name already exists in Vault at this path. Please choose another name.</UIString>
<UIString ID="VAL13">A file with this name already exists in Vault at another path. Please choose another name.</UIString>
<!--AutoCAD title block attributes / file properties for dynamic properties-->
<!--use to change display name for localization or user friendly naming-->
<UIString ID="GEN-TITLE-DES1">Drawing Title</UIString>
<UIString ID="GEN-TITLE-DES2">Drawing Subtitle</UIString>
<!--Inventor custom iProperties Displaynames for dynamic properties-->
<!--use to change display name for localization or user friendly naming-->
<!--<UIString ID="aim_description1">Description</UIString>-->
<UIString ID="Cadac Project Settings Config">Cadac Test</UIString>
<!--Vault Categories-->
<UIString ID="CAT1">Engineering</UIString>
<UIString ID="CAT2">Office</UIString>
<UIString ID="CAT3">Standard</UIString>
<UIString ID="CAT4">Base</UIString>
<UIString ID="CAT5">Folder</UIString>
<UIString ID="CAT6">Project</UIString>
<!--Strings used in tooltips-->
<UIString ID="TLT1">Local path</UIString>
<UIString ID="TLT2">Template path</UIString>
</UIStrings>

0 Likes
Message 9 of 11

Anonymous
Not applicable

Right now the new file function is working really well.

 

The structured folder dialog has a few issues. 

1. it's not copying the properties from the template folders

2. not prefilling the dialog out based on top level folder template properties

3.  adding the breadcrumb broke the standard new standard folder operation. 

4. It's not copying files with their properties preset. 

 

 

structured folder.JPGnew standard file.JPG

0 Likes
Message 10 of 11

Anonymous
Not applicable

okay i fixed the issue with the new standard dialog box. I had to rename the some stuff in the structuredfolder.xaml

and add the window to default.ps1 

 

 

 

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

<WPF:MainWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WPF="clr-namespace:CreateObject.WPF;assembly=CreateObject"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
x:Name="StructuredFolderWindow"
Background="#F0F0F0" SizeToContent="WidthAndHeight" ResizeMode="NoResize">
<Window.Resources>
<Style x:Key="DynamicDataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}"
Text="{WPF:ValidatedBinding Value, StringFormat=N}" IsEditable="True" BorderThickness="0" />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}" />
</Trigger>
<DataTrigger Binding="{Binding EnforceListValues}" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox ItemsSource="{Binding ListValues}" Text="{WPF:ValidatedBinding Value}"
IsEditable="False" BorderThickness="0"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ListValues.Count}" Value="0">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox Text="{WPF:ValidatedBinding Value, StringFormat=N}" BorderThickness="0" CharacterCasing="{Binding Case}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="DateTime">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<DatePicker SelectedDate="{WPF:ValidatedBinding Value}" SelectedDateFormat="Short"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Typ}" Value="Bool">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox Text="{WPF:ValidatedBinding Value}" IsEditable="True">
<ComboBoxItem Content="True" />
<ComboBoxItem Content="False" />
</ComboBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DynamicDataGridLabelStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Height" Value="Auto" />
<Setter Property="Margin" Value="0,4,0,0" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="I****TestVisible" Value="False" />
</Style>
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type Label}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Height" Value="24" />
<Setter Property="Padding" Value="5,3,3,2" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="1,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding Content, RelativeSource={RelativeSource Self}}" Value="{x:Null}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="#ff0000" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Height" Value="24" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Setter Property="Padding" Value="5,3,3,2" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
<DataTrigger Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowColorKey}}" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="Required" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Style.Triggers>
<DataTrigger Binding="{Binding Text, RelativeSource={RelativeSource Self}}" Value="">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="Height" Value="24" />
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}" />
<Setter Property="BorderBrush" Value="#FFABADB3" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DatePicker}">
<Setter Property="Height" Value="25.5" />
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding (Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="NumSchmCtrlStyle" TargetType="{x:Type WPF:DSNumSchemeCtrl}">
<Setter Property="Height" Value="Auto" />
<Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="BorderThickness" Value="0,1,1,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding EditMode}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ButtonGridStyle" TargetType="{x:Type Grid}">
<Setter Property="Margin" Value="0,15,2,5" />
</Style>

<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>
<Grid x:Name="grdMain" Margin="5,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" ToolTip="Template Folder"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>

<GroupBox x:Name="GroupFolder" Grid.ColumnSpan="2" Margin="-6,0,0,5" BorderThickness="0" Header="{Binding UIString[LBL1], FallbackValue=Folder}" Visibility="{Binding CreateMode, Converter={StaticResource BooleanToVisibilityConverter}}">
<WrapPanel x:Name="BreadCrumb"
ItemWidth="165" Margin="1,0,0,0">
<WrapPanel.Resources>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Margin" Value="-1,0,0,0" />
<Setter Property="ToolTip" Value="{Binding SelectedValue.Name, RelativeSource = {RelativeSource Self}}"/>
</Style>
</WrapPanel.Resources>
</WrapPanel>

</GroupBox>

<Grid x:Name="grdSystemProps" Margin="0,45,0,0"
ToolTip="{Binding UIString[LBL73], FallbackValue='General Properties'}">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="120" />
<ColumnDefinition MinWidth="140" MaxWidth="220" />
</Grid.ColumnDefinitions>
<Label Content="{Binding UIString[LBL8], FallbackValue=Categories}" Grid.Row="0" Grid.Column="0" />
<ComboBox x:Name="Categories" Grid.Row="0" Grid.Column="1"
DisplayMemberPath="Name" SelectedItem="{Binding DynamicPropertiesCategory}"
SelectedValuePath="Name" SelectedValue="{Binding Prop[_Category].Value}"
ItemsSource="{Binding PsList[GetCategories], Mode=OneTime}"
IsEnabled="{Binding CreateMode}" />




<Label x:Name="lblNumSchm" Content="{Binding UIString[LBL10], FallbackValue=Numberingscheme}"
Visibility="{Binding Visibility, ElementName=NumSchms}" Grid.Row="1" />
<ComboBox x:Name="NumSchms" Grid.Row="1" Grid.Column="1"
DisplayMemberPath="Name"
SelectedValuePath="Name"
SelectedValue="{Binding Prop[_NumSchm].Value}"
ItemsSource="{Binding PsList[GetNumSchms], Mode=OneTime}"
IsEnabled="{Binding HasItems, RelativeSource={RelativeSource Self}}"
Visibility="{Binding NotEditMode, Converter={StaticResource BooleanToVisibilityConverter}}"/>

<Label x:Name="lblProjectNumber" Grid.Column="0" Content="{Binding UIString[LBL31], FallbackValue=Number}"
Grid.Row="2" Visibility="{Binding Visibility, ElementName=DSNumSchmsCtrl}" Height="Auto" />
<WPF:DSNumSchemeCtrl x:Name="DSNumSchmsCtrl" Style="{StaticResource NumSchmCtrlStyle}"
IsEnabled="{Binding IsEnabled, ElementName=NumSchms}"
Scheme="{Binding SelectedItem, ElementName=NumSchms}"
Visibility="{Binding CreateMode, Converter={StaticResource BooleanToVisibilityConverter}}"
GeneratedNumberProperty="_GeneratedNumber" Grid.Row="2" Grid.Column="1" />

<Label Content="{Binding UIString[LBL19], FallbackValue=Name}" Grid.Column="0" Grid.Row="3"
Visibility="{Binding Visibility, ElementName=FOLDERNAME}" />
<TextBox Text="{WPF:ValidatedBinding Name}" x:Name="FOLDERNAME"
IsReadOnly="{Binding EditMode}"
Visibility="{Binding NumSchmFieldsEmpty, ElementName=DSNumSchmsCtrl, Converter={StaticResource BooleanToVisibilityConverter}}"
Grid.Column="1" Grid.Row="3" />

<Label Content="{Binding UIString[LBL4], FallbackValue=State}" Grid.Column="0" Grid.Row="4" />
<TextBox Text="{Binding Prop[_XLTN_STATE].Value}" Grid.Column="1" Grid.Row="4" IsReadOnly="True"
IsTabStop="False" Height="Auto" />

<Label Content="{Binding UIString[LBL33], FallbackValue=Date Created}" Grid.Column="0" Grid.Row="5" />
<TextBox Text="{Binding Prop[_XLTN_CREATE DATE].Value, StringFormat=dd/MM/yyyy}" Grid.Column="1"
Grid.Row="5" IsReadOnly="True" IsTabStop="False" Height="Auto" />

<Label Content="{Binding UIString[LBL34], FallbackValue=Created By}" Grid.Column="0" Grid.Row="6"
BorderThickness="1" />
<TextBox Text="{Binding Prop[_XLTN_CREATED BY].Value}" Grid.Column="1" Grid.Row="6" IsReadOnly="True"
BorderThickness="0,1,1,1" IsTabStop="False" Height="Auto" />







</Grid>
<DataGrid Grid.Column="1" x:Name="DSDynCatPropGrid" MaxHeight="350"
ItemsSource="{Binding DynamicProperties}"
ToolTip="{Binding UIString[LBL63], FallbackValue='Category Properties'}"
AutoGenerateColumns="False"
HeadersVisibility="Column"
ScrollViewer.CanContentScroll="True"
HorizontalGridLinesBrush="WhiteSmoke"
VerticalGridLinesBrush="WhiteSmoke" BorderBrush="Gray" MaxWidth="600"
Margin="30,45,25,0" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" CellStyle="{StaticResource DynamicDataGridLabelStyle}"
MinWidth="160" Width="Auto" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL64], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Value}" Width="*" MinWidth="180"
CellStyle="{StaticResource DynamicDataGridCellStyle}" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DataContext.UIString[LBL65], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Grid x:Name="ButtonGrid" Grid.ColumnSpan="2" Grid.Row="3" Style="{StaticResource ButtonGridStyle}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>

<GroupBox x:Name="TemplatePath" Header="{Binding UIString[TLT2], FallbackValue=Template Path}" Grid.Row="1" Grid.ColumnSpan="3" BorderThickness="0" Margin="-6,0,0,0"
ToolTip="{Binding UIString[TLT2], FallbackValue='Template Path'}">
<TextBox x:Name="TemplatePathTB" Text="{Binding Prop[FOLDERNAME].Value}"
IsReadOnly="True"
Background="#F0F0F0" BorderThickness="1" Margin="0,0,-6,0" />
</GroupBox>
<Button x:Name="btnOK" Content="{Binding UIString[BTN1], FallbackValue=OK}"
Command="{Binding CloseWindowCommand, ElementName=StructuredFolderWindow}"
IsEnabled="{Binding IsNotReadonly}" Grid.Column="2" Width="80" Height="24" IsDefault="True" />
<Button x:Name="btnEsc" Content="{Binding UIString[BTN2], FallbackValue=Esc}"
Command="{Binding CancelWindowCommand, ElementName=StructuredFolderWindow}" Grid.Column="4" Width="80"
HorizontalAlignment="Right" Height="24" IsCancel="True" />
</Grid>
</Grid>
</WPF:MainWindow>

0 Likes
Message 11 of 11

Anonymous
Not applicable

Here is the updated default.ps1 file

0 Likes