411 lines
26 KiB
XML
411 lines
26 KiB
XML
<UserControl x:Class="ConfigurePlus.MainView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:models="clr-namespace:ConfigurePlus.Models"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="400" d:DesignWidth="1000">
|
|
|
|
<UserControl.Resources>
|
|
<ResourceDictionary Source="LocalResources.xaml" />
|
|
</UserControl.Resources>
|
|
|
|
<DockPanel>
|
|
<StatusBar DockPanel.Dock="Bottom" Style="{DynamicResource StatusBarBaseStyle}">
|
|
<StatusBarItem>
|
|
<TextBlock Text="{Binding StatusInformation}" />
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="200" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<DockPanel Grid.Column="0">
|
|
|
|
<Border DockPanel.Dock="Top" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
|
|
<TextBlock Background="{DynamicResource BackgroundBrush}" Margin="0" Height="16"
|
|
TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
|
|
Text="Available Projects" />
|
|
</Border>
|
|
|
|
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" FlowDirection="RightToLeft" HorizontalAlignment="Right">
|
|
<Button Name="RegisterAllButton" Width="75" Margin="10,10,10,10" Click="RegisterAllButton_Click">Register All</Button>
|
|
<Button Name="RegisterButton" Width="75" Margin="10,10,10,10" Click="RegisterButton_Click" Content="Register">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonBaseStyle}">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ElementName=ProjectList, Path=SelectedItem, Converter={StaticResource NullToBooleanConverter}, ConverterParameter=True}" Value="True" >
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<StackPanel Orientation="Horizontal" DockPanel.Dock="Bottom" FlowDirection="RightToLeft" HorizontalAlignment="Right">
|
|
<Button Name="CreateNewButton" Width="75" Margin="10,10,10,10" Click="CreateNewButton_Click">Create New</Button>
|
|
<Button Name="DeleteProjectButton" Width="75" Margin="10,10,10,10" Click="DeleteProjectButton_Click" Content="Delete">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonBaseStyle}">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding SelectedProject.IsGlobalProject}" Value="True" >
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<ListBox Name="ProjectList" Grid.Row="1" Style="{DynamicResource ListBoxBaseStyle}" ItemContainerStyle="{DynamicResource ListBoxItemBaseStyle}" ItemsSource="{Binding Projects}" HorizontalContentAlignment="Stretch" SelectedItem="{Binding SelectedProject, Mode=TwoWay}" SelectionChanged="ListView_SelectionChanged">
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<DockPanel>
|
|
<TextBlock DockPanel.Dock="Right" Text="[Official]" Margin="0,0,4,0">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsGlobalProject}" Value="False" >
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
<TextBlock Text="{Binding Name, Mode=TwoWay}" />
|
|
</DockPanel>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</DockPanel>
|
|
|
|
<GridSplitter Grid.Column="1" Style="{StaticResource GridSplitterVerticalStyle}" />
|
|
|
|
<DockPanel Grid.Column="2">
|
|
<DockPanel.Style>
|
|
<Style TargetType="DockPanel">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding SelectedProject}" Value="{x:Null}" >
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</DockPanel.Style>
|
|
|
|
<StackPanel Orientation="Horizontal" DockPanel.Dock="Bottom" FlowDirection="RightToLeft" HorizontalAlignment="Right">
|
|
<Button Name="SelectProjectButton" Width="90" Margin="10,10,10,10" Click="SelectProjectButton_Click">Select Project</Button>
|
|
|
|
<Button Name="AutoFillButton" Width="90" Margin="10,10,10,10" Click="AutoFillButton_Click"
|
|
Content="Auto Fill" ToolTipService.ShowOnDisabled="True">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding SelectedProject.PerforceServer, Converter={StaticResource NullToBooleanConverter}, ConverterParameter={StaticResource True}}" Value="False">
|
|
<Setter Property="ToolTip" Value="Fill Perforce Server and Project Key to use Auto Fill" />
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding SelectedProject.ProjectId, Converter={StaticResource NullToBooleanConverter}, ConverterParameter={StaticResource True}}" Value="False">
|
|
<Setter Property="ToolTip" Value="Fill Perforce Server and Project Key to use Auto Fill" />
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<!-- TODO : Replace me by a PropertyGrid? -->
|
|
<StackPanel Grid.Row="0" DataContext="{Binding SelectedProject}">
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.Style>
|
|
<Style TargetType="Grid">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsGlobalProject, Mode=OneTime}" Value="False">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
</DataTrigger>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.ProjectId}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Grid.Style>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Project Key" />
|
|
<TextBox Grid.Column="1" Text="{Binding ProjectId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Project Id" />
|
|
<TextBox Grid.Column="1" Text="{Binding ProjectId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.ProjectId}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Game name" />
|
|
<TextBox Grid.Column="1" Text="{Binding GameName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.GameName}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Branch name" />
|
|
<TextBox Grid.Column="1" Text="{Binding BranchName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.BranchName}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Engine Start Mode" />
|
|
<StackPanel Grid.Column="1" >
|
|
<ComboBox HorizontalAlignment="Stretch" Width="Auto" IsEditable="False"
|
|
SelectedIndex="{Binding EngineStartMode, Converter={StaticResource EnumToIntConverter}, Mode=TwoWay}"
|
|
Style="{DynamicResource ComboBoxBaseStyle}" >
|
|
<ComboBoxItem>UA_Engine</ComboBoxItem>
|
|
<ComboBoxItem>UA_Framework</ComboBoxItem>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="32" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Data Path" />
|
|
<TextBox Grid.Column="1" Text="{Binding DataPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.DataPath}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
<Button Grid.Column="2" Content="..." Click="DataPathBrowse_Click" Width="30" Margin="2,0,0,0">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.DataPath}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="32" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Engine Path" />
|
|
<TextBox Grid.Column="1" Text="{Binding EnginePath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.EnginePath}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
<Button Grid.Column="2" Content="..." Click="EnginePathBrowse_Click" Width="30" Margin="2,0,0,0">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.EnginePath}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Perforce Server" />
|
|
<TextBox Grid.Column="1" Text="{Binding PerforceServer, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.PerforceServer}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
<Grid HorizontalAlignment="Stretch" Margin="4,2,4,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{StaticResource PropertyGridNameWidth}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="Fields Descriptor" />
|
|
<TextBox Grid.Column="1" Text="{Binding FieldsDescriptor, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
<Setter Property="IsEnabled" Value="True" />
|
|
<Style.Triggers>
|
|
<DataTrigger Value="True">
|
|
<DataTrigger.Binding>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource FlagsToBooleanConverter}">
|
|
<Binding Path="ReadOnlyFields" />
|
|
<Binding Source="{x:Static models:ProjectViewModel+LockedFields.FieldsDescriptor}" />
|
|
</MultiBinding>
|
|
</DataTrigger.Binding>
|
|
<Setter Property="IsEnabled" Value="False" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</Grid>
|
|
|
|
</DockPanel>
|
|
|
|
</UserControl>
|