calculator/src/Calculator/Views/CalculatorStandardOperators.xaml
Howard Wolosky c13b8a099e Hello GitHub
2019-01-28 16:24:37 -08:00

416 lines
28 KiB
XML

<UserControl x:Class="CalculatorApp.CalculatorStandardOperators"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:common="using:CalculatorApp.Common"
xmlns:controls="using:CalculatorApp.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Name="ControlRoot"
mc:Ignorable="d">
<Grid x:Name="Root">
<Grid.RowDefinitions>
<RowDefinition x:Name="R0" Height="1*"/>
<RowDefinition x:Name="R1" Height="1*"/>
<RowDefinition x:Name="R2" Height="1*"/>
<RowDefinition x:Name="R3" Height="1*"/>
<RowDefinition x:Name="R4" Height="1*"/>
<RowDefinition x:Name="R5" Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="GutterLeft" Width="0"/>
<ColumnDefinition x:Name="C0" Width="0"/>
<ColumnDefinition x:Name="C1" Width="1*"/>
<ColumnDefinition x:Name="C2" Width="1*"/>
<ColumnDefinition x:Name="C3" Width="1*"/>
<ColumnDefinition x:Name="C4" Width="1*"/>
<ColumnDefinition x:Name="GutterRight" Width="0"/>
</Grid.ColumnDefinitions>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ErrorVisualStates">
<VisualState x:Name="NoErrorLayout"/>
<VisualState x:Name="ErrorLayout">
<VisualState.Setters>
<Setter Target="percentButton.IsEnabled" Value="False"/>
<Setter Target="squareRootButton.IsEnabled" Value="False"/>
<Setter Target="xpower2Button.IsEnabled" Value="False"/>
<Setter Target="xpower3Button.IsEnabled" Value="False"/>
<Setter Target="invertButton.IsEnabled" Value="False"/>
<Setter Target="divideButton.IsEnabled" Value="False"/>
<Setter Target="multiplyButton.IsEnabled" Value="False"/>
<Setter Target="minusButton.IsEnabled" Value="False"/>
<Setter Target="plusButton.IsEnabled" Value="False"/>
<Setter Target="negateButton.IsEnabled" Value="False"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup>
<VisualState x:Name="Portrait768x1366">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="1366" MinWindowWidth="768"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower3Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle46}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Landscape13InchLaptop">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="768" MinWindowWidth="1366"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="C0.Width" Value="1*"/>
<Setter Target="R0.Height" Value="0"/>
<Setter Target="StandardFunctions.(Grid.Row)" Value="1"/>
<Setter Target="StandardFunctions.(Grid.Column)" Value="1"/>
<Setter Target="StandardFunctions.(Grid.RowSpan)" Value="5"/>
<Setter Target="StandardFunctions.(Grid.ColumnSpan)" Value="1"/>
<Setter Target="FnR1.Height" Value="1*"/>
<Setter Target="FnR2.Height" Value="1*"/>
<Setter Target="FnR3.Height" Value="1*"/>
<Setter Target="FnR4.Height" Value="1*"/>
<Setter Target="FnC1.Width" Value="0"/>
<Setter Target="FnC2.Width" Value="0"/>
<Setter Target="FnC3.Width" Value="0"/>
<Setter Target="squareRootButton.(Grid.Row)" Value="1"/>
<Setter Target="squareRootButton.(Grid.Column)" Value="0"/>
<Setter Target="xpower2Button.(Grid.Row)" Value="2"/>
<Setter Target="xpower2Button.(Grid.Column)" Value="0"/>
<Setter Target="xpower3Button.Visibility" Value="Visible"/>
<Setter Target="invertButton.(Grid.Row)" Value="4"/>
<Setter Target="invertButton.(Grid.Column)" Value="0"/>
<Setter Target="negateButton.(Grid.Row)" Value="5"/>
<Setter Target="negateButton.(Grid.Column)" Value="2"/>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle34}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Landscape8InchTab">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="640" MinWindowWidth="1024"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="C0.Width" Value="1*"/>
<Setter Target="R0.Height" Value="0"/>
<Setter Target="StandardFunctions.(Grid.Row)" Value="1"/>
<Setter Target="StandardFunctions.(Grid.Column)" Value="1"/>
<Setter Target="StandardFunctions.(Grid.RowSpan)" Value="5"/>
<Setter Target="StandardFunctions.(Grid.ColumnSpan)" Value="1"/>
<Setter Target="FnR1.Height" Value="1*"/>
<Setter Target="FnR2.Height" Value="1*"/>
<Setter Target="FnR3.Height" Value="1*"/>
<Setter Target="FnR4.Height" Value="1*"/>
<Setter Target="FnC1.Width" Value="0"/>
<Setter Target="FnC2.Width" Value="0"/>
<Setter Target="FnC3.Width" Value="0"/>
<Setter Target="squareRootButton.(Grid.Row)" Value="1"/>
<Setter Target="squareRootButton.(Grid.Column)" Value="0"/>
<Setter Target="xpower2Button.(Grid.Row)" Value="2"/>
<Setter Target="xpower2Button.(Grid.Column)" Value="0"/>
<Setter Target="xpower3Button.Visibility" Value="Visible"/>
<Setter Target="invertButton.(Grid.Row)" Value="4"/>
<Setter Target="invertButton.(Grid.Column)" Value="0"/>
<Setter Target="negateButton.(Grid.Row)" Value="5"/>
<Setter Target="negateButton.(Grid.Column)" Value="2"/>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower3Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle28}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Portrait8InchTab">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="1024" MinWindowWidth="640"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower3Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle28}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Portrait6InchPhone">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="854" MinWindowWidth="480"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSizeLarge}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle34}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Portrait5InchPhone">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="640" MinWindowWidth="360"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="percentButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="squareRootButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="xpower2Button.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="invertButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="negateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/>
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle28}"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="MinSizeLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="{StaticResource AppMinWindowHeight}" MinWindowWidth="{StaticResource AppMinWindowWidth}"/>
</VisualState.StateTriggers>
</VisualState>
<VisualState x:Name="DefaultLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="0" MinWindowWidth="0"/>
</VisualState.StateTriggers>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="StandardFunctions"
x:Uid="StandardFunctions"
Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="4"
AutomationProperties.HeadingLevel="Level1">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition x:Name="FnR1" Height="0"/>
<RowDefinition x:Name="FnR2" Height="0"/>
<RowDefinition x:Name="FnR3" Height="0"/>
<RowDefinition x:Name="FnR4" Height="0"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition x:Name="FnC1" Width="1*"/>
<ColumnDefinition x:Name="FnC2" Width="1*"/>
<ColumnDefinition x:Name="FnC3" Width="1*"/>
</Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="percentButton"
x:Uid="percentButton"
Grid.Column="0"
Style="{StaticResource SymbolOperatorButtonStyle}"
AutomationProperties.AutomationId="percentButton"
ButtonId="Percent"
Content="&#xE94C;"/>
<controls:CalculatorButton x:Name="squareRootButton"
x:Uid="squareRootButton"
Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}"
AutomationProperties.AutomationId="squareRootButton"
ButtonId="Sqrt"
Content="&#xE94B;"/>
<controls:CalculatorButton x:Name="xpower2Button"
x:Uid="xpower2Button"
Grid.Column="2"
Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="18"
AutomationProperties.AutomationId="xpower2Button"
ButtonId="XPower2"
Content="&#xf7c8;"/>
<controls:CalculatorButton x:Name="xpower3Button"
x:Uid="xpower3Button"
Grid.Row="3"
Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="18"
AutomationProperties.AutomationId="xpower3Button"
ButtonId="Cube"
Content="&#xf7cb;"
Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="invertButton"
x:Uid="invertButton"
Grid.Column="3"
Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="18"
AutomationProperties.AutomationId="invertButton"
ButtonId="Invert"
Content="&#xf7c9;"/>
</Grid>
<Grid x:Name="StandardOperators"
x:Uid="StandardOperators"
Grid.Row="1"
Grid.RowSpan="5"
Grid.Column="5"
AutomationProperties.HeadingLevel="Level1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<controls:CalculatorButton x:Name="divideButton"
x:Uid="divideButton"
Grid.Row="0"
Style="{StaticResource AccentCalcButtonStyle}"
AutomationProperties.AutomationId="divideButton"
ButtonId="Divide"
Content="&#xE94A;"/>
<controls:CalculatorButton x:Name="multiplyButton"
x:Uid="multiplyButton"
Grid.Row="1"
Style="{StaticResource AccentCalcButtonStyle}"
AutomationProperties.AutomationId="multiplyButton"
ButtonId="Multiply"
Content="&#xE947;"/>
<controls:CalculatorButton x:Name="minusButton"
x:Uid="minusButton"
Grid.Row="2"
Style="{StaticResource AccentCalcButtonStyle}"
AutomationProperties.AutomationId="minusButton"
ButtonId="Subtract"
Content="&#xE949;"/>
<controls:CalculatorButton x:Name="plusButton"
x:Uid="plusButton"
Grid.Row="3"
Style="{StaticResource AccentCalcButtonStyle}"
AutomationProperties.AutomationId="plusButton"
ButtonId="Add"
Content="&#xE948;"/>
<controls:CalculatorButton x:Name="equalButton"
x:Uid="equalButton"
Grid.Row="4"
Style="{StaticResource AccentCalcButtonStyle}"
AutomationProperties.AutomationId="equalButton"
ButtonId="Equals"
Content="&#xE94E;"/>
</Grid>
<Grid x:Name="DisplayControls"
x:Uid="DisplayControls"
Grid.Row="1"
Grid.Column="2"
Grid.ColumnSpan="3"
AutomationProperties.HeadingLevel="Level1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="clearEntryButton"
x:Uid="clearEntryButton"
Grid.Column="0"
Style="{StaticResource OperatorButtonStyle}"
FontSize="16"
AutomationProperties.AutomationId="clearEntryButton"
ButtonId="ClearEntry"
Content="CE"/>
<controls:CalculatorButton x:Name="clearButton"
x:Uid="clearButton"
Grid.Column="1"
Style="{StaticResource OperatorButtonStyle}"
FontSize="16"
AutomationProperties.AutomationId="clearButton"
ButtonId="Clear"
Content="C"/>
<controls:CalculatorButton x:Name="backSpaceButton"
x:Uid="backSpaceButton"
Grid.Column="2"
Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="16"
AutomationProperties.AutomationId="backSpaceButton"
ButtonId="Backspace"
Content="&#xE94F;"/>
</Grid>
<local:NumberPad x:Name="NumberPad"
x:Uid="NumberPad"
Grid.Row="2"
Grid.RowSpan="4"
Grid.Column="2"
Grid.ColumnSpan="3"
AutomationProperties.HeadingLevel="Level1"
ButtonStyle="{StaticResource NumericButtonStyle24}"/>
<controls:CalculatorButton x:Name="negateButton"
x:Uid="negateButton"
Grid.Row="5"
Grid.Column="2"
Style="{StaticResource SymbolOperatorButtonStyle}"
AutomationProperties.AutomationId="negateButton"
ButtonId="Negate"
Content="&#xE94D;"/>
</Grid>
</UserControl>