math-suite/Source/GraphingCalculator/Controls/SettingsWindow.xaml

166 lines
7.3 KiB
XML

<Window x:Class="GraphingCalculator.SettingsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Settings" Height="320" Width="562"
ShowInTaskbar="False" WindowStartupLocation="CenterScreen"
WindowStyle="ToolWindow">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Styles/GroupBoxStyle.xaml" />
<ResourceDictionary Source="/Styles/ButtonStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Window.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint=".5,1">
<GradientStop Color="#EEE" Offset="0" />
<GradientStop Color="#BBB" Offset="1" />
</LinearGradientBrush>
</Window.Background>
<Grid Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<GroupBox Header="Graph precision" Grid.Row="0">
<StackPanel>
<Slider Name="sliderGraphPrecision"
Minimum="50" Maximum="2000" TickFrequency="150"
SmallChange="10" LargeChange="50"
TickPlacement="BottomRight"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock>Minimum</TextBlock>
<TextBlock Grid.Column="2">Maximum</TextBlock>
</Grid>
<TextBlock TextWrapping="Wrap" FontSize="11"
Foreground="#444" Margin="2,4,2,2">
A higher precision means that drawing takes longer to render, making the application slower.</TextBlock>
</StackPanel>
</GroupBox>
<GroupBox Header="Grid density" Grid.Column="1" Grid.Row="0">
<StackPanel>
<Slider Name="sliderGridDensity"
Minimum="10" Maximum="100" TickFrequency="5"
SmallChange="2" LargeChange="5"
TickPlacement="BottomRight"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock>Higher</TextBlock>
<TextBlock Grid.Column="2">Lower</TextBlock>
</Grid>
<TextBlock TextWrapping="Wrap" FontSize="11"
Foreground="#444" Margin="2,4,2,2">
A higher density means that more grid lines are drawn.</TextBlock>
</StackPanel>
</GroupBox>
<GroupBox Header="Grid numbers precision" Grid.Row="2" Grid.RowSpan="2">
<StackPanel>
<Slider Name="sliderDoublePrecision"
Minimum="0" Maximum="15" TickFrequency="1"
SmallChange="1" LargeChange="1" ValueChanged="sliderDoublePrecision_ValueChanged"
TickPlacement="BottomRight" IsSnapToTickEnabled="True"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock>0</TextBlock>
<TextBlock Name="outputDoublePrecision" Grid.Column="1" HorizontalAlignment="Center">? decimals</TextBlock>
<TextBlock Grid.Column="2">15</TextBlock>
</Grid>
<TextBlock TextWrapping="Wrap" FontSize="11"
Foreground="#444" Margin="2,4,2,2">
A higher precision means that more decimals appear in the graph. If the value is too high, values may overlap each other.</TextBlock>
</StackPanel>
</GroupBox>
<GroupBox Header="Navigation sensitivity"
Grid.Column="1" Grid.Row="2">
<StackPanel>
<Slider Name="sliderNavigationSensitivity"
Minimum=".01" Maximum="1.5" TickFrequency=".1"
SmallChange=".01" LargeChange=".05" ValueChanged="sliderNavigationSensitivity_ValueChanged"
TickPlacement="BottomRight"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock>1%</TextBlock>
<TextBlock Name="outputNavigationSensitivity" Grid.Column="1" HorizontalAlignment="Center">?% of screen</TextBlock>
<TextBlock Grid.Column="2">150%</TextBlock>
</Grid>
</StackPanel>
</GroupBox>
<GroupBox Header="Zoom sensitivity"
Grid.Column="1" Grid.Row="3">
<StackPanel>
<Slider Name="sliderZoomSensitivity"
Minimum="1.01" Maximum="2.5" TickFrequency=".1"
SmallChange=".01" LargeChange=".05" ValueChanged="sliderZoomSensitivity_ValueChanged"
TickPlacement="BottomRight"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock>1%</TextBlock>
<TextBlock Name="outputZoomSensitivity" Grid.Column="1" HorizontalAlignment="Center">?% of screen</TextBlock>
<TextBlock Grid.Column="2">150%</TextBlock>
</Grid>
</StackPanel>
</GroupBox>
<Grid Grid.Row="5" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button Name="buttonDefaults" Width="80" Click="buttonDefaults_Click">Defaults</Button>
<Button Name="buttonCancel" Width="80" Grid.Column="2" Click="buttonCancel_Click">Cancel</Button>
<Button Name="buttonAccept" Width="80" Grid.Column="3" Click="buttonAccept_Click">Accept</Button>
</Grid>
</Grid>
</Window>