<base:WindowBase
    x:Class="v2rayN.Views.AddGroupServerWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:base="clr-namespace:v2rayN.Base"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:reactiveui="http://reactiveui.net"
    xmlns:resx="clr-namespace:ServiceLib.Resx;assembly=ServiceLib"
    xmlns:vms="clr-namespace:ServiceLib.ViewModels;assembly=ServiceLib"
    Title="{x:Static resx:ResUI.menuServers}"
    Width="900"
    Height="700"
    x:TypeArguments="vms:AddGroupServerViewModel"
    ResizeMode="CanResize"
    ShowInTaskbar="False"
    Style="{StaticResource WindowGlobal}"
    WindowStartupLocation="CenterScreen"
    mc:Ignorable="d">

    <DockPanel Margin="{StaticResource Margin8}">
        <StackPanel
            Margin="{StaticResource Margin4}"
            HorizontalAlignment="Center"
            DockPanel.Dock="Bottom"
            Orientation="Horizontal">
            <Button
                x:Name="btnSave"
                Width="100"
                Content="{x:Static resx:ResUI.TbConfirm}"
                IsDefault="True"
                Style="{StaticResource DefButton}" />
            <Button
                x:Name="btnCancel"
                Width="100"
                Margin="{StaticResource MarginLeftRight8}"
                Content="{x:Static resx:ResUI.TbCancel}"
                IsCancel="true"
                Style="{StaticResource DefButton}" />
        </StackPanel>

        <Grid DockPanel.Dock="Top">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <Grid Grid.Row="0">
                <Grid.RowDefinitions>
                    <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="300" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>

                <TextBlock
                    Grid.Row="0"
                    Grid.Column="0"
                    Margin="{StaticResource Margin4}"
                    Style="{StaticResource ModuleTitle}"
                    Text="{x:Static resx:ResUI.menuServers}" />

                <TextBlock
                    Grid.Row="1"
                    Grid.Column="0"
                    Margin="{StaticResource Margin4}"
                    VerticalAlignment="Center"
                    Style="{StaticResource ToolbarTextBlock}"
                    Text="{x:Static resx:ResUI.TbRemarks}" />
                <TextBox
                    x:Name="txtRemarks"
                    Grid.Row="1"
                    Grid.Column="1"
                    Width="400"
                    Margin="{StaticResource Margin4}"
                    Style="{StaticResource DefTextBox}" />

                <TextBlock
                    Grid.Row="2"
                    Grid.Column="0"
                    Margin="{StaticResource Margin4}"
                    VerticalAlignment="Center"
                    Style="{StaticResource ToolbarTextBlock}"
                    Text="{x:Static resx:ResUI.TbCoreType}" />
                <ComboBox
                    x:Name="cmbCoreType"
                    Grid.Row="2"
                    Grid.Column="1"
                    Width="200"
                    Margin="{StaticResource Margin4}"
                    materialDesign:HintAssist.Hint="{x:Static resx:ResUI.TbCoreType}"
                    Style="{StaticResource DefComboBox}" />

                <Grid
                    x:Name="gridPolicyGroup"
                    Grid.Row="3"
                    Grid.Column="0"
                    Grid.ColumnSpan="3">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="300" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                    </Grid.ColumnDefinitions>
                    <TextBlock
                        Grid.Row="3"
                        Grid.Column="0"
                        Margin="{StaticResource Margin4}"
                        VerticalAlignment="Center"
                        Style="{StaticResource ToolbarTextBlock}"
                        Text="{x:Static resx:ResUI.TbPolicyGroupType}" />
                    <ComboBox
                        x:Name="cmbPolicyGroupType"
                        Grid.Row="3"
                        Grid.Column="1"
                        Width="200"
                        Margin="{StaticResource Margin4}"
                        materialDesign:HintAssist.Hint="{x:Static resx:ResUI.TbPolicyGroupType}"
                        Style="{StaticResource DefComboBox}" />
                </Grid>
            </Grid>
        </Grid>

        <TabControl
            x:Name="tabControl"
            Margin="{StaticResource Margin8}"
            HorizontalContentAlignment="Left"
            DockPanel.Dock="Top">
            <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.menuServerList}">
                <Grid Margin="{StaticResource Margin8}">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                    </Grid.ColumnDefinitions>

                    <TextBlock
                        Grid.Row="0"
                        Grid.Column="0"
                        Margin="{StaticResource Margin4}"
                        VerticalAlignment="Center"
                        Style="{StaticResource ToolbarTextBlock}"
                        Text="{x:Static resx:ResUI.menuSubscription}" />
                    <ComboBox
                        x:Name="cmbSubChildItems"
                        Grid.Row="0"
                        Grid.Column="1"
                        Width="600"
                        Margin="{StaticResource Margin4}"
                        DisplayMemberPath="Remarks"
                        Style="{StaticResource DefComboBox}" />
                    <TextBlock
                        Grid.Row="0"
                        Grid.Column="2"
                        Margin="{StaticResource Margin4}"
                        VerticalAlignment="Center"
                        Style="{StaticResource ToolbarTextBlock}"
                        Text="{x:Static resx:ResUI.TbPolicyGroupSubChildTip}"
                        TextWrapping="Wrap" />

                    <TextBlock
                        Grid.Row="1"
                        Grid.Column="0"
                        Margin="{StaticResource Margin4}"
                        VerticalAlignment="Center"
                        Style="{StaticResource ToolbarTextBlock}"
                        Text="{x:Static resx:ResUI.LvFilter}" />
                    <ComboBox
                        x:Name="cmbFilter"
                        Grid.Row="1"
                        Grid.Column="1"
                        Width="600"
                        Margin="{StaticResource Margin4}"
                        VerticalAlignment="Center"
                        IsEditable="True"
                        Style="{StaticResource DefComboBox}" />
                </Grid>
            </TabItem>

            <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.menuServerList2}">
                <DataGrid
                    x:Name="lstChild"
                    AutoGenerateColumns="False"
                    BorderThickness="1"
                    CanUserAddRows="False"
                    CanUserResizeRows="False"
                    CanUserSortColumns="False"
                    EnableRowVirtualization="True"
                    GridLinesVisibility="All"
                    HeadersVisibility="Column"
                    IsReadOnly="True"
                    Style="{StaticResource DefDataGrid}">
                    <DataGrid.ContextMenu>
                        <ContextMenu Style="{StaticResource DefContextMenu}">
                            <MenuItem
                                x:Name="menuAddChildServer"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuAddChildServer}" />
                            <MenuItem
                                x:Name="menuRemoveChildServer"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuRemoveChildServer}" />
                            <MenuItem
                                x:Name="menuSelectAllChild"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuSelectAll}"
                                InputGestureText="Ctrl+A" />
                            <Separator />
                            <MenuItem
                                x:Name="menuMoveTop"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveTop}"
                                InputGestureText="T" />
                            <MenuItem
                                x:Name="menuMoveUp"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveUp}"
                                InputGestureText="U" />
                            <MenuItem
                                x:Name="menuMoveDown"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveDown}"
                                InputGestureText="D" />
                            <MenuItem
                                x:Name="menuMoveBottom"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveBottom}"
                                InputGestureText="B" />
                        </ContextMenu>
                    </DataGrid.ContextMenu>
                    <DataGrid.Columns>
                        <DataGridTextColumn
                            Width="150"
                            Binding="{Binding ConfigType}"
                            Header="{x:Static resx:ResUI.LvServiceType}" />
                        <DataGridTextColumn
                            Width="200"
                            Binding="{Binding Remarks}"
                            Header="{x:Static resx:ResUI.LvRemarks}" />
                        <DataGridTextColumn
                            Width="200"
                            Binding="{Binding Address}"
                            Header="{x:Static resx:ResUI.LvAddress}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding Port}"
                            Header="{x:Static resx:ResUI.LvPort}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding Network}"
                            Header="{x:Static resx:ResUI.LvTransportProtocol}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding StreamSecurity}"
                            Header="{x:Static resx:ResUI.LvTLS}" />
                    </DataGrid.Columns>
                </DataGrid>
            </TabItem>
            <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.menuServerListPreview}">
                <DataGrid
                    x:Name="lstPreviewChild"
                    AutoGenerateColumns="False"
                    BorderThickness="1"
                    CanUserAddRows="False"
                    CanUserResizeRows="False"
                    CanUserSortColumns="False"
                    EnableRowVirtualization="True"
                    GridLinesVisibility="All"
                    HeadersVisibility="Column"
                    IsReadOnly="True"
                    Style="{StaticResource DefDataGrid}">
                    <DataGrid.Columns>
                        <DataGridTextColumn
                            Width="150"
                            Binding="{Binding ConfigType}"
                            Header="{x:Static resx:ResUI.LvServiceType}" />
                        <DataGridTextColumn
                            Width="200"
                            Binding="{Binding Remarks}"
                            Header="{x:Static resx:ResUI.LvRemarks}" />
                        <DataGridTextColumn
                            Width="200"
                            Binding="{Binding Address}"
                            Header="{x:Static resx:ResUI.LvAddress}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding Port}"
                            Header="{x:Static resx:ResUI.LvPort}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding Network}"
                            Header="{x:Static resx:ResUI.LvTransportProtocol}" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding StreamSecurity}"
                            Header="{x:Static resx:ResUI.LvTLS}" />
                    </DataGrid.Columns>
                </DataGrid>
            </TabItem>
        </TabControl>
    </DockPanel>
</base:WindowBase>
