Skip to content

Commit c3c43d9

Browse files
committed
fix required and packed objects not showing for scv5 files
1 parent 13ab1ce commit c3c43d9

File tree

4 files changed

+44
-37
lines changed

4 files changed

+44
-37
lines changed

Gui/App.axaml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
11
<Application
2-
x:Class="Gui.App"
3-
xmlns="https://github.com/avaloniaui"
4-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5-
xmlns:local="using:Gui"
6-
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
7-
xmlns:oldt="using:Dat.Types"
8-
xmlns:pgc="clr-namespace:Avalonia.PropertyGrid.Controls;assembly=Avalonia.PropertyGrid"
9-
xmlns:vi="using:Gui.Views"
10-
xmlns:vm="using:Gui.ViewModels"
11-
RequestedThemeVariant="Default">
12-
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
2+
x:Class="Gui.App"
3+
xmlns="https://github.com/avaloniaui"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
xmlns:local="using:Gui"
6+
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
7+
xmlns:oldt="using:Dat.Types"
8+
xmlns:pgc="clr-namespace:Avalonia.PropertyGrid.Controls;assembly=Avalonia.PropertyGrid"
9+
xmlns:vi="using:Gui.Views"
10+
xmlns:vm="using:Gui.ViewModels"
11+
RequestedThemeVariant="Default">
1312

1413
<Application.DataTemplates>
1514
<local:ViewLocator />
1615
<DataTemplate DataType="vm:ObjectModelHeaderViewModel">
1716
<pgc:PropertyGrid
18-
x:Name="propertyGrid_S5HeaderVm"
19-
DataContext="{Binding}"
20-
IsCategoryVisible="False" />
17+
x:Name="propertyGrid_S5HeaderVm"
18+
DataContext="{Binding}"
19+
IsCategoryVisible="False"/>
2120
</DataTemplate>
2221
<DataTemplate DataType="vm:ObjectHeaderViewModel">
2322
<pgc:PropertyGrid
24-
x:Name="propertyGrid_ObjectHeaderVm"
25-
DataContext="{Binding}"
26-
IsCategoryVisible="False" />
23+
x:Name="propertyGrid_ObjectHeaderVm"
24+
DataContext="{Binding}"
25+
IsCategoryVisible="False" />
2726
</DataTemplate>
2827
<DataTemplate DataType="oldt:S5Header">
2928
<pgc:PropertyGrid
30-
x:Name="propertyGrid_S5Header"
31-
DataContext="{Binding}"
32-
IsCategoryVisible="False" />
29+
x:Name="propertyGrid_S5Header"
30+
DataContext="{Binding}"
31+
IsCategoryVisible="False" />
3332
</DataTemplate>
3433
<DataTemplate DataType="oldt:ObjectHeader">
3534
<pgc:PropertyGrid
36-
x:Name="propertyGrid_ObjectHeader"
37-
DataContext="{Binding}"
38-
IsCategoryVisible="False" />
35+
x:Name="propertyGrid_ObjectHeader"
36+
DataContext="{Binding}"
37+
IsCategoryVisible="False" />
3938
</DataTemplate>
4039
<DataTemplate DataType="vm:SCV5ViewModel">
4140
<vi:SCV5View />
@@ -98,6 +97,7 @@
9897
<Style Selector="pgc|PropertyGrid">
9998
<Setter Property="IsTitleVisible" Value="False" />
10099
<Setter Property="IsHeaderVisible" Value="False" />
100+
<Setter Property="IsCategoryVisible" Value="False" />
101101
<Setter Property="IsQuickFilterVisible" Value="False" />
102102
</Style>
103103

Gui/ViewModels/DatTypes/SCV5ViewModel.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Avalonia.Media.Imaging;
2+
using Dat.Converters;
23
using Dat.Data;
34
using Dat.FileParsing;
45
using Dat.Types.SCV5;
@@ -70,8 +71,14 @@ public override void Load()
7071
return;
7172
}
7273

73-
//RequiredObjects = new ObservableCollection<ObjectModelHeaderViewModel>([.. CurrentS5File.RequiredObjects.Where(x => x.Checksum != 0).Select(x => new ObjectModelHeaderViewModel(x)).OrderBy(x => x.Name)]);
74-
//PackedObjects = new ObservableCollection<ObjectModelHeaderViewModel>([.. CurrentS5File.PackedObjects.ConvertAll(x => new ObjectModelHeaderViewModel(x.Item1)).OrderBy(x => x.Name)]); // note: cannot bind to this, but it'll allow us to display at least
74+
var ro = CurrentS5File.RequiredObjects
75+
.Where(x => x.Checksum != 0)
76+
.Select(x => new ObjectModelHeaderViewModel(x.Convert()))
77+
.OrderBy(x => x.Name);
78+
RequiredObjects = new ObservableCollection<ObjectModelHeaderViewModel>([.. ro]);
79+
80+
var po = CurrentS5File.PackedObjects.ConvertAll(x => new ObjectModelHeaderViewModel(x.Item1.Convert())).OrderBy(x => x.Name);
81+
PackedObjects = new ObservableCollection<ObjectModelHeaderViewModel>([.. po]);
7582

7683
_ = this.WhenAnyValue(o => o.TileElementX)
7784
.Subscribe(_ => this.RaisePropertyChanged(nameof(CurrentTileElements)));

Gui/Views/MainWindow.axaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,6 @@
6969
</Grid>
7070
</DataTemplate>
7171

72-
<!--<DataTemplate DataType="vm:GenericObjectViewModel">
73-
<pgc:PropertyGrid DataContext="{Binding Object}" />
74-
</DataTemplate>-->
75-
7672
<DataTemplate DataType="vm:IObjectViewModel">
7773
<pgc:PropertyGrid DataContext="{Binding}" Background="{DynamicResource ExpanderContentBackground}" />
7874
</DataTemplate>

Gui/Views/SCV5View.axaml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,12 @@
6464
</ItemsRepeater.Layout>
6565
<ItemsRepeater.ItemTemplate>
6666
<DataTemplate>
67-
<StackPanel>
68-
<materialIcons:MaterialIcon Kind="{Binding ObjectType, Converter={StaticResource EnumToMaterialIconConverter}}" Width="24" Height="24" Margin="2" />
69-
<ContentControl Content="{Binding}" />
70-
</StackPanel>
67+
<Border Margin="4" BorderThickness="1">
68+
<StackPanel>
69+
<materialIcons:MaterialIcon Kind="{Binding ObjectType, Converter={StaticResource EnumToMaterialIconConverter}}" Width="24" Height="24" Margin="2" />
70+
<ContentControl Content="{Binding}" />
71+
</StackPanel>
72+
</Border>
7173
</DataTemplate>
7274
</ItemsRepeater.ItemTemplate>
7375
</ItemsRepeater>
@@ -84,10 +86,12 @@
8486
</ItemsRepeater.Layout>
8587
<ItemsRepeater.ItemTemplate>
8688
<DataTemplate>
87-
<StackPanel>
88-
<materialIcons:MaterialIcon Kind="{Binding ObjectType, Converter={StaticResource EnumToMaterialIconConverter}}" Width="24" Height="24" Margin="2" />
89-
<ContentControl Content="{Binding}" />
90-
</StackPanel>
89+
<Border Margin="4" BorderThickness="1">
90+
<StackPanel>
91+
<materialIcons:MaterialIcon Kind="{Binding ObjectType, Converter={StaticResource EnumToMaterialIconConverter}}" Width="24" Height="24" Margin="2" />
92+
<ContentControl Content="{Binding}" />
93+
</StackPanel>
94+
</Border>
9195
</DataTemplate>
9296
</ItemsRepeater.ItemTemplate>
9397
</ItemsRepeater>

0 commit comments

Comments
 (0)