<mde:MaterialWindow x:Class="Artemis.UI.Screens.Settings.Debug.DebugView"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
                    xmlns:s="https://github.com/canton7/Stylet"
                    xmlns:mde="clr-namespace:MaterialDesignExtensions.Controls;assembly=MaterialDesignExtensions"
                    xmlns:debug="clr-namespace:Artemis.UI.Screens.Settings.Debug"
                    xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
                    mc:Ignorable="d"
                    Title="Artemis debugger"
                    TitleBarIcon="{svgc:SvgImage Source=/Resources/Images/Logo/bow-white.svg}"
                    Foreground="{DynamicResource MaterialDesignBody}"
                    Background="{DynamicResource MaterialDesignPaper}"
                    FontFamily="pack://application:,,,/MaterialDesignThemes.Wpf;component/Resources/Roboto/#Roboto"
                    UseLayoutRounding="True"
                    FadeContentIfInactive="False"
                    Width="1200"
                    Height="800"
                    d:DesignHeight="800" d:DesignWidth="800" d:DataContext="{d:DesignInstance debug:DebugViewModel}"
                    Icon="/Resources/Images/Logo/bow.ico"
                    Topmost="{Binding StayOnTopSetting.Value}">
    <materialDesign:DialogHost IsTabStop="False"
                               Focusable="False"
                               Identifier="DebuggerDialog"
                               DialogTheme="Inherit">
        <DockPanel>
            <mde:AppBar Type="Dense"
                        Title="Debugger"
                        DockPanel.Dock="Top"
                        Margin="-18 0 0 0">
                <mde:AppBar.AppIcon>
                    <materialDesign:PackIcon Kind="Matrix" Width="20" Height="28" />
                </mde:AppBar.AppIcon>

                <materialDesign:PopupBox DockPanel.Dock="Right" PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
                    <StackPanel>
                        <Button Command="{s:Action ToggleStayOnTop}">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                                <ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}"
                                              Margin="0 0 10 0"
                                              IsChecked="{Binding StayOnTopSetting.Value}" />
                                <TextBlock>Stay on top</TextBlock>
                            </StackPanel>
                        </Button>
                        <Button Command="{s:Action ForceGarbageCollection}">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                                <materialDesign:PackIcon Kind="DeleteEmpty" />
                                <TextBlock Margin="10 0">Force garbage collection</TextBlock>
                            </StackPanel>
                        </Button>
                        <Button Command="{s:Action Elevate}">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                                <materialDesign:PackIcon Kind="ShieldHalfFull" />
                                <TextBlock Margin="10 0">Elevate permissions</TextBlock>
                            </StackPanel>
                        </Button>
                        <Button Command="{s:Action Drop}">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                                <materialDesign:PackIcon Kind="ChevronDoubleDown" />
                                <TextBlock Margin="10 0">Drop permissions</TextBlock>
                            </StackPanel>
                        </Button>
                        <Button Command="{s:Action Restart}">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                                <materialDesign:PackIcon Kind="Restart" />
                                <TextBlock Margin="10 0">Restart</TextBlock>
                            </StackPanel>
                        </Button>
                    </StackPanel>
                </materialDesign:PopupBox>
            </mde:AppBar>

            <TabControl ItemsSource="{Binding Items}"
                        SelectedItem="{Binding ActiveItem}"
                        DisplayMemberPath="DisplayName"
                        Style="{StaticResource MaterialDesignTabControl}">
                <TabControl.ContentTemplate>
                    <DataTemplate>
                        <materialDesign:TransitioningContent OpeningEffect="{materialDesign:TransitionEffect FadeIn}">
                            <ContentControl s:View.Model="{Binding}" TextElement.Foreground="{DynamicResource MaterialDesignBody}" Margin="10" />
                        </materialDesign:TransitioningContent>
                    </DataTemplate>
                </TabControl.ContentTemplate>
            </TabControl>
        </DockPanel>
    </materialDesign:DialogHost>
</mde:MaterialWindow>