Files
EgtCAM5/MTableDb/MTableDbView.xaml
T
Emmanuele Sassi 0851ba19d0 EgtCAM5 :
- Implementato uso della EgtSaveFileDialog da EgtWPFLib5.
- Abbozzata gestione dei file per GunStock.
- Aggiunta virtualizzazione dell'albero dei layer.
- Corretta visualizzazione pallini colorati nell'albero dei layer.
- Miglioramenti nel salvataggio delle MTable e selezione di quella corrente.
- Aggiunto colore Egaltech1 in IniFile per poterlo usare da codice.
2016-10-25 18:05:06 +00:00

331 lines
20 KiB
XML

<EgtWPFLib5:EgtCustomWindow x:Class="MTableDbView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtCAM5.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseMTableWindowCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="5*"/>
</Grid.ColumnDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="11*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="5">
<Button Command="{Binding NewTableCommand}"
CommandParameter="{Binding SelectedItem,ElementName=TablesListBox}"
ToolTip="{Binding NewTableToolTip}"
Style="{StaticResource MTableWindowButton}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding SaveTableCommand}"
CommandParameter="{Binding SelectedItem,ElementName=TablesListBox}"
ToolTip="{Binding SaveTableToolTip}" Style="{StaticResource MTableWindowButton}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding SaveTableAsCommand}"
CommandParameter="{Binding SelectedItem,ElementName=TablesListBox}"
ToolTip="{Binding SaveAsTableToolTip}" Style="{StaticResource MTableWindowButton}">
<Image Source="/Resources/TopCommandBar/SaveAs.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding RemoveTableCommand}"
CommandParameter="{Binding SelectedItem,ElementName=TablesListBox}"
ToolTip="{Binding RemoveTableToolTip}"
Style="{StaticResource MTableWindowButton}">
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding SetActiveTableCommand}"
CommandParameter="{Binding SelectedItem,ElementName=TablesListBox}"
ToolTip="{Binding SetActiveTableToolTip}"
Style="{StaticResource MTableWindowButton}">
<Ellipse Height="10" Width="10" Fill="{StaticResource EgaltechBlue1}" />
</Button>
</UniformGrid>
<ListBox Name="TablesListBox" Grid.Row="1" ItemsSource="{Binding TablesList}"
IsSynchronizedWithCurrentItem="False">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="Visibility" Value="{Binding Visibility, Mode=TwoWay}" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TableName}" Margin="0,0,5,0"/>
<Ellipse Grid.Column="3" Height="10" Width="10" Fill="{Binding StateColor}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="11*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="1" Header="{Binding MachListHeader}" BorderBrush="{StaticResource EgaltechBlue1}" BorderThickness="2"
Padding="3" Margin="2,2,2,2">
<ItemsControl Name="MachineList"
ItemsSource="{Binding Path=SelectedItem.ActiveMachinesList, ElementName=TablesListBox}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="0,2,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding MachId}" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="{Binding Path=DataContext.MachineNameTxBl,Mode=OneTime,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
<ComboBox Grid.Column="2" ItemsSource="{Binding MachinesList}"
SelectedItem="{Binding SelectedMachine}"/>
<TextBlock Grid.Column="3" Text="{Binding Path=DataContext.NcGenerateTxBl,Mode=OneTime,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}" HorizontalAlignment="Center"/>
<CheckBox Grid.Column="4" IsChecked="{Binding NcGenerate}" HorizontalAlignment="Right"/>
<TextBlock Grid.Column="5" Text="{Binding Path=DataContext.MakeRawTxBl,Mode=OneTime,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}" HorizontalAlignment="Center"/>
<CheckBox Grid.Column="6" IsChecked="{Binding Makeraw}" HorizontalAlignment="Right"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</GroupBox>
<DataGrid Name="AssociationDataGrid"
ItemsSource="{Binding Path=SelectedItem.AssociationList,
ElementName=TablesListBox}"
SelectedItem="{Binding Path=SelectedItem.SelectedAssociation,
ElementName=TablesListBox,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
IsSynchronizedWithCurrentItem="False"
Grid.Row="2"
AutoGenerateColumns="False"
CanUserSortColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
CanUserReorderColumns="False"
SelectionMode="Single"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
<Interactivity:Interaction.Behaviors>
<EgtCAM5:ScrollIntoViewForDataGrid/>
</Interactivity:Interaction.Behaviors>
<DataGrid.Columns>
<!--Colonna On-->
<DataGridCheckBoxColumn Width="Auto" Binding="{Binding OnPar}">
<DataGridCheckBoxColumn.Header>
<TextBlock Text="{Binding Path=DataContext.OnHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridCheckBoxColumn.Header>
</DataGridCheckBoxColumn>
<!--Colonna Name-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.GeomNameHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=NamesList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Operation-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.OperationHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding Oper,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=OperationsList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Oper,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Machine Id-->
<DataGridTemplateColumn Width="38">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.MIdHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding MachId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=SelectedItem.MachIdList,ElementName=TablesListBox,Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=MachId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Shift-->
<DataGridTemplateColumn Width="38">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.ShiftHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding Shift,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ShiftList,Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Shift,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna MachiningType-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.MachTypeHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding SelectedMachType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=MachTypeList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="TypeName"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=SelectedMachType.TypeName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Machining-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.MachHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding Mach,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=MachList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Mach,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Machining Up-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.MachUpHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding MachUp,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=MachList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=MachUp,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Colonna Machining Down-->
<DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.MachDownHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="False"
SelectedItem="{Binding MachDw,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=MachList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=MachDw,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
<UniformGrid Grid.Row="3" Columns="6">
<Button Content="{Binding AddMachBtn}" Command="{Binding AddMachCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
<Button Content="{Binding RemoveMachBtn}" Command="{Binding RemoveMachCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
<Button Content="{Binding AddMachiningBtn}" Command="{Binding AddRowCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
<Button Content="{Binding RemoveMachiningBtn}" Command="{Binding RemoveRowCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
<Button Content="/\" Command="{Binding MoveRowUpCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
<Button Content="\/" Command="{Binding MoveRowDownCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=TablesListBox}"/>
</UniformGrid>
</Grid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>