StarSim

StarSim.git
git clone git://git.lenczewski.org/StarSim.git
Log | Files | Refs | README | LICENSE

commit f24df0645bd8784ffa31a77b604564017070ffe3
parent 595de0dba0de93613180778750d5c79ff623f811
Author: Mikolaj Lenczewski <33129490+EnderRifter@users.noreply.github.com>
Date:   Fri, 16 Aug 2019 14:42:50 +0200

Updated body mass converter for two-way functionality
 - Readded read users and read systems because of wierd XAML parsing bug

Diffstat:
MStarSim/StarSimGui/Source/Converters/BodyMassConverter.cs | 4++--
MStarSim/StarSimGui/StarSimGui.csproj | 18++++++------------
AStarSim/StarSimGui/Views/Database Views/ReadSystems.xaml | 34++++++++++++++++++++++++++++++++++
AStarSim/StarSimGui/Views/Database Views/ReadSystems.xaml.cs | 19+++++++++++++++++++
AStarSim/StarSimGui/Views/Database Views/ReadUsers.xaml | 41+++++++++++++++++++++++++++++++++++++++++
AStarSim/StarSimGui/Views/Database Views/ReadUsers.xaml.cs | 19+++++++++++++++++++
DStarSim/StarSimGui/Views/Database Views/SystemReadView.xaml | 34----------------------------------
DStarSim/StarSimGui/Views/Database Views/SystemReadView.xaml.cs | 20--------------------
DStarSim/StarSimGui/Views/Database Views/UserReadView.xaml | 41-----------------------------------------
DStarSim/StarSimGui/Views/Database Views/UserReadView.xaml.cs | 19-------------------
MStarSim/StarSimGui/Views/Database.xaml | 4++--
11 files changed, 123 insertions(+), 130 deletions(-)

diff --git a/StarSim/StarSimGui/Source/Converters/BodyMassConverter.cs b/StarSim/StarSimGui/Source/Converters/BodyMassConverter.cs @@ -13,13 +13,13 @@ namespace StarSimGui.Source.Converters /// <inheritdoc /> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - return $"{value:E3}"; + return $"{value ?? 0:E3}"; } /// <inheritdoc /> public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { - throw new NotImplementedException(); + return double.TryParse((string)value, out double result) ? result : 0; } } } \ No newline at end of file diff --git a/StarSim/StarSimGui/StarSimGui.csproj b/StarSim/StarSimGui/StarSimGui.csproj @@ -26,8 +26,8 @@ </ItemGroup> <ItemGroup> - <AvaloniaResource Remove="Views\Database Views\SystemReadView.xaml" /> - <AvaloniaResource Remove="Views\Database Views\UserReadView.xaml" /> + <AvaloniaResource Remove="Views\Database Views\ReadSystems.xaml" /> + <AvaloniaResource Remove="Views\Database Views\ReadUsers.xaml" /> <AvaloniaResource Remove="Views\Database.xaml" /> <AvaloniaResource Remove="Views\Overview.xaml" /> <AvaloniaResource Remove="Views\Simulation.xaml" /> @@ -40,8 +40,8 @@ </ItemGroup> <ItemGroup> - <None Remove="Views\Database Views\SystemReadView.xaml" /> - <None Remove="Views\Database Views\UserReadView.xaml" /> + <None Remove="Views\Database Views\ReadSystems.xaml" /> + <None Remove="Views\Database Views\ReadUsers.xaml" /> <None Remove="Views\Database.xaml" /> <None Remove="Views\Overview.xaml" /> <None Remove="Views\Simulation.xaml" /> @@ -88,13 +88,13 @@ </ItemGroup> <ItemGroup> - <EmbeddedResource Include="Views\Database Views\SystemReadView.xaml"> + <EmbeddedResource Include="Views\Database Views\ReadUsers.xaml"> <Generator>MSBuild:Compile</Generator> </EmbeddedResource> </ItemGroup> <ItemGroup> - <EmbeddedResource Include="Views\Database Views\UserReadView.xaml"> + <EmbeddedResource Include="Views\Database Views\ReadSystems.xaml"> <Generator>MSBuild:Compile</Generator> </EmbeddedResource> </ItemGroup> @@ -104,12 +104,6 @@ </ItemGroup> <ItemGroup> - <Compile Update="Views\Database Views\SystemReadView.xaml.cs"> - <DependentUpon>SystemReadView.xaml</DependentUpon> - </Compile> - </ItemGroup> - - <ItemGroup> <None Update="App.xaml"> <Generator>MSBuild:Compile</Generator> </None> diff --git a/StarSim/StarSimGui/Views/Database Views/ReadSystems.xaml b/StarSim/StarSimGui/Views/Database Views/ReadSystems.xaml @@ -0,0 +1,33 @@ +<UserControl xmlns="https://github.com/avaloniaui" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:vm="clr-namespace:StarSimGui.ViewModels.Database_ViewModels;assembly=StarSimGui" + xmlns:v="clr-namespace:StarSimGui.Views;assembly=StarSimGui" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d" + x:Class="StarSimGui.Views.Database_Views.ReadSystems" + Background="WhiteSmoke"> + + <Design.DataContext> + <vm:SystemReadViewModel /> + </Design.DataContext> + + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2"> + <Grid ColumnDefinitions="*,*,*,*" RowDefinitions="*,*,*,*"> + <ListBox Items="{Binding Bodies}" SelectedItem="{Binding SelectedBody, Mode=OneWayToSource}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> + </ListBox> + <ListBox Items="{Binding Systems}" SelectedItem="{Binding SelectedSystem, Mode=OneWayToSource}" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> + </ListBox> + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> + <StackPanel DataContext="{Binding SelectedBody}" IsVisible="{Binding !$parent.DataContext.IsSelectedBodyNull}"> + <TextBlock>Selected Body Details:</TextBlock> + </StackPanel> + </Border> + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> + <StackPanel DataContext="{Binding SelectedSystem}" IsVisible="{Binding !$parent.DataContext.IsSelectedSystemNull}"> + <TextBlock>Selected System Details:</TextBlock> + </StackPanel> + </Border> + </Grid> + </Border> +</UserControl> +\ No newline at end of file diff --git a/StarSim/StarSimGui/Views/Database Views/ReadSystems.xaml.cs b/StarSim/StarSimGui/Views/Database Views/ReadSystems.xaml.cs @@ -0,0 +1,19 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace StarSimGui.Views.Database_Views +{ + public class ReadSystems : UserControl + { + public ReadSystems() + { + this.InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + } +} diff --git a/StarSim/StarSimGui/Views/Database Views/ReadUsers.xaml b/StarSim/StarSimGui/Views/Database Views/ReadUsers.xaml @@ -0,0 +1,40 @@ +<UserControl xmlns="https://github.com/avaloniaui" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:vm="clr-namespace:StarSimGui.ViewModels.Database_ViewModels;assembly=StarSimGui" + xmlns:v="clr-namespace:StarSimGui.Views;assembly=StarSimGui" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d" + x:Class="StarSimGui.Views.Database_Views.ReadUsers" + Background="WhiteSmoke"> + + <Design.DataContext> + <vm:UserReadViewModel /> + </Design.DataContext> + + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2"> + <Grid ColumnDefinitions="*,*,*,*" RowDefinitions="*,*,*,*"> + <ListBox Items="{Binding Users}" SelectedItem="{Binding SelectedUser, Mode=OneWayToSource}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> + </ListBox> + <ListBox Items="{Binding PublishedSystems}" SelectedItem="{Binding SelectedPublishedSystem, Mode=OneWayToSource}" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> + </ListBox> + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> + <StackPanel DataContext="{Binding SelectedUser}" IsVisible="{Binding !$parent.DataContext.IsSelectedUserNull}"> + <TextBlock>Selected User Details:</TextBlock> + <StackPanel Orientation="Horizontal"> + <TextBlock Grid.Column="0" Grid.Row="0">Privileges:</TextBlock> + <Separator Margin="2" /> + <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding Privileges}"></TextBlock> + </StackPanel> + </StackPanel> + </Border> + <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> + <StackPanel DataContext="{Binding SelectedPublishedSystem}" IsVisible="{Binding !$parent.DataContext.IsSelectedPublishedSystemNull}"> + <TextBlock>Selected Published System Details:</TextBlock> + <ListBox Items="{Binding System.BodyToSystemJoins}"> + </ListBox> + </StackPanel> + </Border> + </Grid> + </Border> +</UserControl> +\ No newline at end of file diff --git a/StarSim/StarSimGui/Views/Database Views/ReadUsers.xaml.cs b/StarSim/StarSimGui/Views/Database Views/ReadUsers.xaml.cs @@ -0,0 +1,19 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace StarSimGui.Views.Database_Views +{ + public class ReadUsers : UserControl + { + public ReadUsers() + { + this.InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + } +} diff --git a/StarSim/StarSimGui/Views/Database Views/SystemReadView.xaml b/StarSim/StarSimGui/Views/Database Views/SystemReadView.xaml @@ -1,33 +0,0 @@ -<UserControl xmlns="https://github.com/avaloniaui" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:vm="clr-namespace:StarSimGui.ViewModels.Database_ViewModels;assembly=StarSimGui" - xmlns:v="clr-namespace:StarSimGui.Views;assembly=StarSimGui" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" - x:Class="StarSimGui.Views.Database_Views.SystemReadView" - Background="WhiteSmoke"> - - <Design.DataContext> - <vm:SystemReadViewModel /> - </Design.DataContext> - - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2"> - <Grid ColumnDefinitions="*,*,*,*" RowDefinitions="*,*,*,*"> - <ListBox Items="{Binding Bodies}" SelectedItem="{Binding SelectedBody, Mode=OneWayToSource}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> - </ListBox> - <ListBox Items="{Binding Systems}" SelectedItem="{Binding SelectedSystem, Mode=OneWayToSource}" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> - </ListBox> - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> - <StackPanel DataContext="{Binding SelectedBody}" IsVisible="{Binding !$parent.DataContext.IsSelectedBodyNull}"> - <TextBlock>Selected Body Details:</TextBlock> - </StackPanel> - </Border> - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> - <StackPanel DataContext="{Binding SelectedSystem}" IsVisible="{Binding !$parent.DataContext.IsSelectedSystemNull}"> - <TextBlock>Selected System Details:</TextBlock> - </StackPanel> - </Border> - </Grid> - </Border> -</UserControl> -\ No newline at end of file diff --git a/StarSim/StarSimGui/Views/Database Views/SystemReadView.xaml.cs b/StarSim/StarSimGui/Views/Database Views/SystemReadView.xaml.cs @@ -1,19 +0,0 @@ -using Avalonia; -using Avalonia.Controls; -using Avalonia.Markup.Xaml; - -namespace StarSimGui.Views.Database_Views -{ - public class SystemReadView : UserControl - { - public SystemReadView() - { - this.InitializeComponent(); - } - - private void InitializeComponent() - { - AvaloniaXamlLoader.Load(this); - } - } -} -\ No newline at end of file diff --git a/StarSim/StarSimGui/Views/Database Views/UserReadView.xaml b/StarSim/StarSimGui/Views/Database Views/UserReadView.xaml @@ -1,40 +0,0 @@ -<UserControl xmlns="https://github.com/avaloniaui" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:vm="clr-namespace:StarSimGui.ViewModels.Database_ViewModels;assembly=StarSimGui" - xmlns:v="clr-namespace:StarSimGui.Views;assembly=StarSimGui" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" - x:Class="StarSimGui.Views.Database_Views.UserReadView" - Background="WhiteSmoke"> - - <Design.DataContext> - <vm:UserReadViewModel /> - </Design.DataContext> - - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2"> - <Grid ColumnDefinitions="*,*,*,*" RowDefinitions="*,*,*,*"> - <ListBox Items="{Binding Users}" SelectedItem="{Binding SelectedUser, Mode=OneWayToSource}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> - </ListBox> - <ListBox Items="{Binding PublishedSystems}" SelectedItem="{Binding SelectedPublishedSystem, Mode=OneWayToSource}" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2" Margin="2"> - </ListBox> - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> - <StackPanel DataContext="{Binding SelectedUser}" IsVisible="{Binding !$parent.DataContext.IsSelectedUserNull}"> - <TextBlock>Selected User Details:</TextBlock> - <StackPanel Orientation="Horizontal"> - <TextBlock Grid.Column="0" Grid.Row="0">Privileges:</TextBlock> - <Separator Margin="2" /> - <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding Privileges}"></TextBlock> - </StackPanel> - </StackPanel> - </Border> - <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="2"> - <StackPanel DataContext="{Binding SelectedPublishedSystem}" IsVisible="{Binding !$parent.DataContext.IsSelectedPublishedSystemNull}"> - <TextBlock>Selected Published System Details:</TextBlock> - <ListBox Items="{Binding System.BodyToSystemJoins}"> - </ListBox> - </StackPanel> - </Border> - </Grid> - </Border> -</UserControl> -\ No newline at end of file diff --git a/StarSim/StarSimGui/Views/Database Views/UserReadView.xaml.cs b/StarSim/StarSimGui/Views/Database Views/UserReadView.xaml.cs @@ -1,19 +0,0 @@ -using Avalonia; -using Avalonia.Controls; -using Avalonia.Markup.Xaml; - -namespace StarSimGui.Views.Database_Views -{ - public class UserReadView : UserControl - { - public UserReadView() - { - this.InitializeComponent(); - } - - private void InitializeComponent() - { - AvaloniaXamlLoader.Load(this); - } - } -} diff --git a/StarSim/StarSimGui/Views/Database.xaml b/StarSim/StarSimGui/Views/Database.xaml @@ -28,10 +28,10 @@ </Border> </TabItem> <TabItem Header="View Users" IsVisible="{Binding IsDefault}"> - <subviews:UserReadView DataContext="{Binding UserReadViewModel}" /> + <subviews:ReadUsers DataContext="{Binding UserReadViewModel}" /> </TabItem> <TabItem Header="View Bodies/Systems" IsVisible="{Binding IsDefault}"> - <subviews:SystemReadView DataContext="{Binding SystemReadViewModel}" /> + <subviews:ReadSystems DataContext="{Binding SystemReadViewModel}" /> </TabItem> <TabItem Header="Update Users" IsVisible="{Binding IsAdmin}"> <Border BorderBrush="Gray" BorderThickness="2" CornerRadius="2" Margin="2">