Files
@ 6919080271d5
Branch filter:
Location: ATITD-Tools/Desert-Paint-Codex/Views/ReactionTestView.axaml
6919080271d5
6.8 KiB
text/plain
Implemented a system that will allow ingredients to be safely renamed, in the
future, without invalidating profiles. Standardized to PP's "FalconBait."
future, without invalidating profiles. Standardized to PP's "FalconBait."
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | <UserControl xmlns="https://github.com/avaloniaui"
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:views="clr-namespace:DesertPaintCodex.Views"
xmlns:vm="clr-namespace:DesertPaintCodex.ViewModels"
mc:Ignorable="d" d:DesignWidth="310" d:DesignHeight="450"
x:Class="DesertPaintCodex.Views.ReactionTestView"
IsVisible="{Binding Path=!ReactionTest.IsStub}"
>
<Design.DataContext>
<vm:ReactionTestViewModel />
</Design.DataContext>
<UserControl.Styles>
<Style Selector="StackPanel.ReagentRow">
<Setter Property="Orientation" Value="Horizontal"/>
<Setter Property="Spacing" Value="10"/>
<Setter Property="Height" Value="30"/>
</Style>
<Style Selector="TextBlock.ReagentLabel">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Right"/>
<Setter Property="Width" Value="80"/>
</Style>
<Style Selector="TextBlock.ReagentName">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Width" Value="120"/>
</Style>
</UserControl.Styles>
<StackPanel Spacing="20" Margin="20 0 0 0">
<StackPanel DockPanel.Dock="Top" Orientation="Vertical" Spacing="5">
<TextBlock Classes="BlockHeader">REAGENTS</TextBlock>
<Border Classes="ThinFrame">
<StackPanel Orientation="Vertical" Spacing="10">
<StackPanel Classes="ReagentRow" IsVisible="{Binding ReactionTest.Requires3Way}">
<TextBlock Classes="ReagentLabel">Buffer:</TextBlock>
<TextBlock Classes="ReagentName" Text="{Binding ReactionTest.BufferReagent.Name, FallbackValue=[Unknown]}" IsVisible="{Binding !ReactionTest.CanPickBuffer}"/>
<ComboBox Items="{Binding BufferList}"
IsVisible="{Binding ReactionTest.CanPickBuffer}"
SelectedItem="{Binding ReactionTest.BufferReagent}"
PlaceholderText="Choose" Width="120" Height="30">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Border Classes="ReagentSwatch"
Background="{Binding ReactionTest.BufferReagent.Color, Converter={StaticResource paintToBrush}, FallbackValue=#00000000}" />
</StackPanel>
<StackPanel Classes="ReagentRow">
<TextBlock Classes="ReagentLabel">Reagent #1:</TextBlock>
<TextBlock Classes="ReagentName" Text="{Binding ReactionTest.Reagent1.Name}" />
<Border Classes="ReagentSwatch"
Background="{Binding ReactionTest.Reagent1.Color, Converter={StaticResource paintToBrush}, FallbackValue=#00000000}" />
</StackPanel>
<StackPanel Classes="ReagentRow">
<TextBlock Classes="ReagentLabel">Reagent #2:</TextBlock>
<TextBlock Classes="ReagentName" Text="{Binding ReactionTest.Reagent2.Name}" />
<Border Classes="ReagentSwatch"
Background="{Binding ReactionTest.Reagent2.Color, Converter={StaticResource paintToBrush}, FallbackValue=#00000000}" />
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Vertical" Spacing="5">
<TextBlock Classes="BlockHeader">HYPOTHETICAL COLOR</TextBlock>
<views:PaintSwatchView ShowName="False" Color="{Binding ReactionTest.HypotheticalColor}"/>
</StackPanel>
<Grid ColumnDefinitions="*,15,*" IsVisible="{Binding ReactionTest.CanScan}">
<Button Grid.Column="0" Padding="11 5 11 5" Command="{Binding Analyze}">Analyze Mixture</Button>
<Button Grid.Column="2" Padding="11 5 11 5" Command="{Binding MarkInert}">Mark Inert</Button>
</Grid>
<StackPanel Orientation="Vertical" Spacing="10" IsVisible="{Binding ReactionTest.IsScanning}">
<ProgressBar DockPanel.Dock="Top" Value="{Binding ReactionTest.ScanProgress}" Height="20" />
<Button Command="{Binding CancelScan}">Cancel Scan</Button>
</StackPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Vertical" Spacing="5"
IsVisible="{Binding ReactionTest.HasResults}">
<TextBlock Classes="BlockHeader">TEST RESULT</TextBlock>
<views:PaintSwatchView ShowName="False" IsVisible="{Binding !ReactionTest.NoLab}" Color="{Binding ReactionTest.ObservedColor}"/>
<views:EmbeddedWarningBox IsVisible="{Binding ReactionTest.NoLab}"
Title="🛇 PIGMENT LAB NOT FOUND"
Message="You may want to make sure your view of the Pigment Lab is clear, and that your screen settings are correct.">
<Button Command="{Binding OpenScreenSettings}">
<TextBlock FontWeight="Bold" FontSize="15">SCREEN SETTINGS</TextBlock>
</Button>
</views:EmbeddedWarningBox>
</StackPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Vertical" Spacing="5"
IsVisible="{Binding ReactionTest.HasReaction}">
<TextBlock Classes="BlockHeader">REACTION OBSERVED</TextBlock>
<StackPanel Orientation="Horizontal" Spacing="21" Margin="0 5">
<views:ReactionUnitView Reaction="{Binding ReactionTest.Reaction}"/>
</StackPanel>
<views:EmbeddedWarningBox Title="🛇 REACTION CLIPPED"
IsVisible="{Binding !!ReactionTest.Clipped}"
Message="Your reaction fell outside of measurable values. We will need to use a buffer pigment to test it.">
<StackPanel Orientation="Vertical" Spacing="10">
<Button Command="{Binding ShowClipInfo}">LEARN MORE</Button>
</StackPanel>
</views:EmbeddedWarningBox>
</StackPanel>
<Button IsVisible="{Binding ReactionTest.CanClear}"
Command="{Binding ClearReaction}">Clear Reaction</Button>
<Button IsVisible="{Binding ReactionTest.CanSave}"
Command="{Binding SaveReaction}">Save Reaction</Button>
</StackPanel>
</UserControl>
|