From 45cca4d8e34671b8196bb75727243d169f3dc332 Mon Sep 17 00:00:00 2001 From: Torben Nehmer Date: Wed, 12 Feb 2025 21:49:18 +0100 Subject: [PATCH] More style testing --- Stars Assistant/App.axaml | 2 +- .../DataGridColumn/PopulationCapacity.cs | 19 ++++++++++++++++ .../ViewModels/PlayerPlanetViewModel.cs | 3 ++- Stars Assistant/Views/BuColView.axaml | 22 +++++++++++++++++-- .../DataGridColumn/PopulationCapacity.axaml | 14 ++++++++++++ .../PopulationCapacity.axaml.cs | 13 +++++++++++ 6 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 Stars Assistant/ViewModels/DataGridColumn/PopulationCapacity.cs create mode 100644 Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml create mode 100644 Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml.cs diff --git a/Stars Assistant/App.axaml b/Stars Assistant/App.axaml index 9d515a5..293e326 100644 --- a/Stars Assistant/App.axaml +++ b/Stars Assistant/App.axaml @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/Stars Assistant/ViewModels/DataGridColumn/PopulationCapacity.cs b/Stars Assistant/ViewModels/DataGridColumn/PopulationCapacity.cs new file mode 100644 index 0000000..da3e021 --- /dev/null +++ b/Stars Assistant/ViewModels/DataGridColumn/PopulationCapacity.cs @@ -0,0 +1,19 @@ +using ReactiveUI.SourceGenerators; +using Avalonia.Media; + +namespace StarsAssistant.ViewModels.DataGridColumn; + +public partial class PopulationCapacity(int value) : ViewModelBase +{ + [Reactive] private int _value = value; + + public IBrush BackgroundColor => _value switch + { + < 25 => Brushes.Khaki, + <= 33 => Brushes.PaleGreen, + <= 50 => Brushes.Khaki, + > 100 => Brushes.LightCoral, + > 99 => Brushes.LightGray, + _ => Brushes.White + }; +} \ No newline at end of file diff --git a/Stars Assistant/ViewModels/PlayerPlanetViewModel.cs b/Stars Assistant/ViewModels/PlayerPlanetViewModel.cs index 203fad1..990883e 100644 --- a/Stars Assistant/ViewModels/PlayerPlanetViewModel.cs +++ b/Stars Assistant/ViewModels/PlayerPlanetViewModel.cs @@ -189,7 +189,8 @@ public partial class PlayerPlanetViewModel : ViewModelBase public int MaxTerraforming => Planet.MaxTerraforming ?? 0; - public int CapacityPercent => Planet.CapacityPercent ?? 0; + // public int CapacityPercent => Planet.CapacityPercent ?? 0; + public DataGridColumn.PopulationCapacity CapacityPercent => new(Planet.CapacityPercent ?? 0); public int ScanRange => Planet.ScanRange ?? 0; diff --git a/Stars Assistant/Views/BuColView.axaml b/Stars Assistant/Views/BuColView.axaml index 5f677d5..ea52c10 100644 --- a/Stars Assistant/Views/BuColView.axaml +++ b/Stars Assistant/Views/BuColView.axaml @@ -3,10 +3,11 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:vm="using:StarsAssistant.ViewModels" + xmlns:cols="clr-namespace:StarsAssistant.Views.DataGridColumn" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="200" x:Class="StarsAssistant.Views.BuColView" x:DataType="vm:BuColViewModel"> - + + + + + + @@ -27,7 +33,19 @@ - + + + + + + + + + + + diff --git a/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml b/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml new file mode 100644 index 0000000..f3b7ef4 --- /dev/null +++ b/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml.cs b/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml.cs new file mode 100644 index 0000000..6f9aca4 --- /dev/null +++ b/Stars Assistant/Views/DataGridColumn/PopulationCapacity.axaml.cs @@ -0,0 +1,13 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace StarsAssistant.Views.DataGridColumn; + +public partial class PopulationCapacity : UserControl +{ + public PopulationCapacity() + { + InitializeComponent(); + } +} \ No newline at end of file