XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

SpaceEngineersModDev/SpaceEngineersBlueprintEditorInWinUI

修复部分bug

c054ba6
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

23 个文件 +372 -251
Modified SpaceEngineersBlueprintEditor/Implements/Services/AutoNavigationService.cs +1 -0
@@ -39,6 +39,7 @@ internal class AutoNavigationService : GlobalServiceBase, IAutoNavigationService
39 39
40 40 public void NavigateTo(Type type, object? parameter = null, NavigationTransitionInfo? navigationTransitionInfo = null)
41 41 {
42 GlobalServiceManager.GetService<ILoadingService>()?.StopLoading();
42 43 if (frame?.SourcePageType != type || (frame.Content is Page page && !Equals(page.GetParameter(), parameter)))
43 44 frame?.Navigate(type, parameter, navigationTransitionInfo);
44 45 }
Added SpaceEngineersBlueprintEditor/Implements/Services/LoadingService.cs +29 -0
@@ -0,0 +1,29 @@
1 using SpaceEngineersBlueprintEditor.Interface.Services;
2
3 namespace SpaceEngineersBlueprintEditor.Implements.Services;
4
5 internal class LoadingService : GlobalServiceBase, ILoadingService
6 {
7 private Grid? _loadingGrid;
8 private TextBlock? _textBlock;
9 public void Initialize(Grid loadingGrid, TextBlock textBlock)
10 {
11 _loadingGrid = loadingGrid;
12 _textBlock = textBlock;
13 }
14
15 public void StartLoading(string showText = "Loading...")
16 {
17 if (_loadingGrid is not null && _textBlock is not null)
18 {
19 _textBlock.Text = showText;
20 _loadingGrid.Visibility = Visibility.Visible;
21 }
22 }
23
24 public void StopLoading()
25 {
26 if (_loadingGrid is not null)
27 _loadingGrid.Visibility = Visibility.Collapsed;
28 }
29 }
Added SpaceEngineersBlueprintEditor/Implements/Services/TabViewTitleService.cs +12 -0
@@ -0,0 +1,12 @@
1 using SpaceEngineersBlueprintEditor.Interface.Services;
2 using SpaceEngineersBlueprintEditor.Model;
3 using XFEExtension.NetCore.DelegateExtension;
4
5 namespace SpaceEngineersBlueprintEditor.Implements.Services;
6
7 internal class TabViewTitleService : GlobalServiceBase, ITabViewTitleService
8 {
9 public event XFEEventHandler<string, BlueprintModel>? ChangeTitleRequest;
10
11 public void SetTabViewTitle(string title, BlueprintModel blueprintModel) => ChangeTitleRequest?.Invoke(title, blueprintModel);
12 }
Added SpaceEngineersBlueprintEditor/Interface/Services/ILoadingService.cs +8 -0
@@ -0,0 +1,8 @@
1 namespace SpaceEngineersBlueprintEditor.Interface.Services;
2
3 public interface ILoadingService : IGlobalService
4 {
5 void Initialize(Grid loadingGrid, TextBlock textBlock);
6 void StartLoading(string showText = "Loading...");
7 void StopLoading();
8 }
Added SpaceEngineersBlueprintEditor/Interface/Services/ITabViewTitleService.cs +10 -0
@@ -0,0 +1,10 @@
1 using SpaceEngineersBlueprintEditor.Model;
2 using XFEExtension.NetCore.DelegateExtension;
3
4 namespace SpaceEngineersBlueprintEditor.Interface.Services;
5
6 public interface ITabViewTitleService : IGlobalService
7 {
8 event XFEEventHandler<string, BlueprintModel> ChangeTitleRequest;
9 void SetTabViewTitle(string title, BlueprintModel blueprintModel);
10 }
Modified SpaceEngineersBlueprintEditor/Utilities/Helpers/FileHelper.cs +1 -1
@@ -36,7 +36,7 @@ public static class FileHelper
36 36 {
37 37 var currentDirectoryName = @$"{Path.GetDirectoryName(originalName)}\{Path.GetFileName(originalName)}_{currentNum}";
38 38 if (File.Exists(currentDirectoryName) || Directory.Exists(currentDirectoryName))
39 return GetCopyFileName(originalName, ++currentNum);
39 return GetCopyDirectoryName(originalName, ++currentNum);
40 40 return currentDirectoryName;
41 41 }
42 42
Modified SpaceEngineersBlueprintEditor/ViewModels/AppShellPageViewModel.cs +1 -0
@@ -14,6 +14,7 @@ public partial class AppShellPageViewModel : ViewModelBase
14 14 public INavigationViewService NavigationViewService { get; set; } = new NavigationViewService();
15 15 public IBackgroundImageService BackgroundImageService { get; set; } = new BackgroundImageService();
16 16 public IMessageService MessageService { get; set; } = new MessageService();
17 public ILoadingService LoadingService { get; set; } = new LoadingService();
17 18
18 19 public AppShellPageViewModel() => NavigationViewService.NavigationService.Navigated += NavigationService_Navigated;
19 20
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintDetailPageViewModel.cs +10 -11
@@ -31,11 +31,10 @@ public partial class BlueprintDetailPageViewModel : ViewModelBase
31 31 private string totalGridNumber = "网格总数:加载中...";
32 32 [ObservableProperty]
33 33 private string totalCubeNumber = "方块总数:加载中...";
34 [ObservableProperty]
35 private bool isProgressRingVisible = true;
36 34 private BlueprintInfoViewData? currentBlueprintInfoViewData;
37 35 private MyObjectBuilder_Definitions? currentDefinitions;
38 36 private MyObjectBuilder_ShipBlueprintDefinition? currentBlueprint;
37 private readonly ILoadingService? loadingService = GlobalServiceManager.GetService<ILoadingService>();
39 38 private readonly INavigationViewService? navigationViewService = GlobalServiceManager.GetService<INavigationViewService>();
40 39 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
41 40 public ObservableCollection<string> DLCList { get; } = [];
@@ -49,16 +48,9 @@ public partial class BlueprintDetailPageViewModel : ViewModelBase
49 48 {
50 49 if (e is null) return;
51 50 if (navigationViewService is not null) navigationViewService.Header = e.Name;
52 IsProgressRingVisible = true;
51 loadingService?.StartLoading("Loading blueprint...");
53 52 BackgroundImageService?.SetBackgroundImage(e.BlueprintImage);
54 53 await Helper.Wait(() => SpaceEngineersHelper.IsLoadComplete);
55 if (!NavigationParameterService.SameAsLast)
56 {
57 currentBlueprintInfoViewData = e;
58 currentDefinitions = await SpaceEngineersHelper.LoadBlueprintAsync(currentBlueprintInfoViewData.FilePath);
59 if (currentDefinitions is not null && currentDefinitions.ShipBlueprints is not null && currentDefinitions.ShipBlueprints.Length > 0)
60 currentBlueprint = currentDefinitions.ShipBlueprints[0];
61 }
62 54 AuthorName = "蓝图作者:加载中...";
63 55 BlueprintFileSize = "蓝图大小:加载中...";
64 56 BlueprintPath = "蓝图路径:加载中...";
@@ -69,6 +61,13 @@ public partial class BlueprintDetailPageViewModel : ViewModelBase
69 61 DLCList.Clear();
70 62 CubeGridList.Clear();
71 63 ComponentList.Clear();
64 if (!NavigationParameterService.SameAsLast)
65 {
66 currentBlueprintInfoViewData = e;
67 currentDefinitions = await SpaceEngineersHelper.LoadBlueprintAsync(currentBlueprintInfoViewData.FilePath);
68 if (currentDefinitions is not null && currentDefinitions.ShipBlueprints is not null && currentDefinitions.ShipBlueprints.Length > 0)
69 currentBlueprint = currentDefinitions.ShipBlueprints[0];
70 }
72 71 if (e.NoBlueprint)
73 72 {
74 73 messageService?.ShowMessage("该蓝图不包含蓝图文件(bp.sbc)", "警告", InfoBarSeverity.Warning);
@@ -92,7 +91,7 @@ public partial class BlueprintDetailPageViewModel : ViewModelBase
92 91 {
93 92 messageService?.ShowMessage("未能加载蓝图", "错误", InfoBarSeverity.Error);
94 93 }
95 IsProgressRingVisible = false;
94 loadingService?.StopLoading();
96 95 }
97 96
98 97 private void CalculateCubeGrids()
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintEditPageViewModel.cs +34 -6
@@ -17,8 +17,19 @@ public partial class BlueprintEditPageViewModel : ViewModelBase
17 17 public BlueprintModel? CurrentSelectedModel => SelectedTabViewItem is not null ? SelectedTabViewItem.Content is Frame frame ? frame.Content is BlueprintEditSubPage blueprintEditSubPage ? blueprintEditSubPage.Parameter : null : null : null;
18 18 public ObservableCollection<TabViewItem> TabViewItems { get; set; } = [];
19 19 public IBackgroundImageService? BackgroundImageService { get; set; } = GlobalServiceManager.GetService<IBackgroundImageService>();
20 public ITabViewTitleService TabViewTitleService { get; set; } = new TabViewTitleService();
20 21 public INavigationParameterService<BlueprintModel?> NavigationParameterService { get; set; } = new NavigationParameterService<BlueprintModel?>();
21 public BlueprintEditPageViewModel() => NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
22 public BlueprintEditPageViewModel()
23 {
24 NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
25 TabViewTitleService.ChangeTitleRequest += TabViewTitleService_ChangeTitleRequest;
26 }
27
28 private void TabViewTitleService_ChangeTitleRequest(string sender, BlueprintModel e)
29 {
30 if (GetCurrentItem(e) is TabViewItem tabViewItem)
31 tabViewItem.Header = sender;
32 }
22 33
23 34 partial void OnSelectedTabViewItemChanged(TabViewItem? value)
24 35 {
@@ -28,23 +39,40 @@ public partial class BlueprintEditPageViewModel : ViewModelBase
28 39 BackgroundImageService?.ResetBackground();
29 40 }
30 41
42 private TabViewItem? GetCurrentItem(BlueprintModel blueprintModel)
43 {
44 foreach (var tabViewItem in TabViewItems)
45 if (tabViewItem.Content is Frame frame && frame.Content is BlueprintEditSubPage blueprintEditSubPage && blueprintEditSubPage.Parameter == blueprintModel)
46 return tabViewItem;
47 return null;
48 }
49
31 50 private void NavigationParameterService_ParameterChange(object? sender, BlueprintModel? e)
32 51 {
33 if (e is not null || e is null && TabViewItems.Count == 0)
34 CreateTabViewItem(e);
52 if (e is not null)
53 {
54 if (GetCurrentItem(e) is TabViewItem tabViewItem)
55 SelectedTabViewItem = tabViewItem;
56 else
57 CreateTabViewItem(e);
58 }
59 else if (e is null && TabViewItems.Count == 0)
60 {
61 CreateTabViewItem(null);
62 }
35 63 }
36 64
37 private void CreateTabViewItem(BlueprintModel? blueprintModel)
65 public void CreateTabViewItem(BlueprintModel? blueprintModel)
38 66 {
39 67 var frame = new Frame();
40 68 var tabView = new TabViewItem
41 69 {
42 Header = blueprintModel?.ViewData?.Name ?? "未命名蓝图",
70 Header = "新的蓝图编辑页",
43 71 Content = frame
44 72 };
45 frame.Navigate(typeof(BlueprintEditSubPage), blueprintModel);
46 73 TabViewItems.Add(tabView);
47 74 SelectedTabViewItem = tabView;
75 frame.Navigate(typeof(BlueprintEditSubPage), blueprintModel);
48 76 }
49 77
50 78 [RelayCommand]
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintEditSubPageViewModel.cs +45 -15
@@ -5,6 +5,7 @@ using SpaceEngineersBlueprintEditor.Implements.Services;
5 5 using SpaceEngineersBlueprintEditor.Interface.Services;
6 6 using SpaceEngineersBlueprintEditor.Model;
7 7 using SpaceEngineersBlueprintEditor.Utilities;
8 using SpaceEngineersBlueprintEditor.Views;
8 9 using System.Collections.ObjectModel;
9 10 using System.Diagnostics;
10 11 using VRage.Game;
@@ -16,14 +17,14 @@ namespace SpaceEngineersBlueprintEditor.ViewModels;
16 17
17 18 public partial class BlueprintEditSubPageViewModel : ViewModelBase
18 19 {
19 [ObservableProperty]
20 private bool isProgressRingVisible;
21 20 [ObservableProperty]
22 21 private bool isCubeGridListVisible;
23 22 [ObservableProperty]
24 23 private bool isShipBlueprintPropertyVisible;
25 24 [ObservableProperty]
26 private string loadingText = string.Empty;
25 private bool isContentGridVisible = false;
26 [ObservableProperty]
27 private bool isInitialGridVisible = true;
27 28 [ObservableProperty]
28 29 private string searchText = string.Empty;
29 30 [ObservableProperty]
@@ -31,12 +32,14 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
31 32 private BlueprintModel? currentBlueprintModel;
32 33 private MyObjectBuilder_Definitions? currentDefinitions;
33 34 private MyObjectBuilder_ShipBlueprintDefinition? currentShipBlueprint;
35 private readonly ILoadingService? loadingService = GlobalServiceManager.GetService<ILoadingService>();
34 36 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
35 37 private readonly INavigationViewService? navigationViewService = GlobalServiceManager.GetService<INavigationViewService>();
36 public bool IsPageLoaded { get; set; }
38 private readonly ITabViewTitleService? tabViewTitleService = GlobalServiceManager.GetService<ITabViewTitleService>();
37 39 public ObservableCollection<BlueprintGroupList> BlueprintCubeGridList { get; } = [];
38 40 public IBackgroundImageService? BackgroundImageService { get; set; } = GlobalServiceManager.GetService<IBackgroundImageService>();
39 41 public INavigationParameterService<BlueprintModel> NavigationParameterService { get; set; } = new NavigationParameterService<BlueprintModel>();
42 public IFileDropService FileDropService { get; set; } = new BlueprintDropService();
40 43 public ITreeViewService TreeViewService { get; set; } = new TreeViewService();
41 44 public ISelectorBarService SelectorBarService { get; set; } = new SelectorBarService();
42 45
@@ -44,6 +47,20 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
44 47 {
45 48 NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
46 49 SelectorBarService.SelectionChanged += SelectorBarService_SelectionChanged;
50 FileDropService.Drop += FileDropService_Drop;
51 }
52
53 private async void FileDropService_Drop(object? sender, (string, DragEventArgs) e)
54 {
55 loadingService?.StartLoading("Loading definitions...");
56 if (File.Exists(e.Item1) && await SpaceEngineersHelper.LoadBlueprintModel(e.Item1) is BlueprintModel blueprintModel)
57 {
58 NavigationParameterService.Parameter = blueprintModel;
59 if (blueprintModel.ViewData is not null)
60 tabViewTitleService?.SetTabViewTitle(blueprintModel.ViewData.Name, blueprintModel);
61 await SetDefinitions(blueprintModel.BlueprintDefinitions);
62 }
63 loadingService?.StopLoading();
47 64 }
48 65
49 66 partial void OnSearchTextChanged(string value) => SearchCubeGrids(value);
@@ -58,8 +75,10 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
58 75 if (currentDefinitions.ShipBlueprints is not null && currentDefinitions.ShipBlueprints.Length > 0)
59 76 {
60 77 currentShipBlueprint = currentDefinitions.ShipBlueprints[0];
61 if(IsPageLoaded)
62 await LoadByName("Grids");
78 IsContentGridVisible = true;
79 IsInitialGridVisible = false;
80 await Task.Delay(200);
81 await LoadByName("Grids");
63 82 }
64 83 else
65 84 {
@@ -80,6 +99,8 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
80 99 if (currentBlueprintModel.ViewData is not null)
81 100 BackgroundImageService?.SetBackgroundImage(currentBlueprintModel.ViewData.BlueprintImage);
82 101 if (navigationViewService is not null) navigationViewService.Header = null;
102 if (e.ViewData is not null)
103 tabViewTitleService?.SetTabViewTitle(e.ViewData.Name, e);
83 104 if (e.BlueprintDefinitions is not null)
84 105 {
85 106 await SetDefinitions(e.BlueprintDefinitions);
@@ -93,8 +114,7 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
93 114 private async Task LoadByName(string caseName)
94 115 {
95 116 if (currentShipBlueprint is null) return;
96 LoadingText = "Loading definitions...";
97 IsProgressRingVisible = true;
117 loadingService?.StartLoading("Loading definitions...");
98 118 await Task.Delay(50);
99 119 switch (caseName)
100 120 {
@@ -111,7 +131,7 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
111 131 default:
112 132 break;
113 133 }
114 IsProgressRingVisible = false;
134 loadingService?.StopLoading();
115 135 }
116 136
117 137 private void LoadBlueprintPropertyDefinitions()
@@ -180,6 +200,7 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
180 200 [RelayCommand]
181 201 async Task OpenBlueprint()
182 202 {
203 loadingService?.StartLoading("Loading definitions...");
183 204 var openPicker = new FileOpenPicker();
184 205 InitializeWithWindow.Initialize(openPicker, WindowNative.GetWindowHandle(App.MainWindow));
185 206 openPicker.ViewMode = PickerViewMode.List;
@@ -189,25 +210,30 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
189 210 if (await SpaceEngineersHelper.LoadBlueprintModel(file.Path) is BlueprintModel blueprintModel)
190 211 {
191 212 NavigationParameterService.Parameter = blueprintModel;
213 if (blueprintModel.ViewData is not null)
214 tabViewTitleService?.SetTabViewTitle(blueprintModel.ViewData.Name, blueprintModel);
192 215 await SetDefinitions(blueprintModel.BlueprintDefinitions);
193 216 }
194 217 }
218 loadingService?.StopLoading();
195 219 }
196 220
197 221 [RelayCommand]
198 222 void OpenInFolder()
199 223 {
200 224 if (currentBlueprintModel is not null && currentBlueprintModel.ViewData is not null)
201 Process.Start("explorer.exe", currentBlueprintModel.ViewData.FilePath);
225 Process.Start("explorer.exe", Path.GetDirectoryName(currentBlueprintModel.ViewData.FilePath) ?? string.Empty);
202 226 else
203 227 messageService?.ShowMessage("无法找到文件", "警告", InfoBarSeverity.Warning);
204 228 }
205 229
230 [RelayCommand]
231 void ViewBlueprintsList() => navigationViewService?.NavigateTo<BlueprintsViewPage>("Local");
232
206 233 [RelayCommand]
207 234 async Task Save()
208 235 {
209 LoadingText = "Saving blueprint...";
210 IsProgressRingVisible = true;
236 loadingService?.StartLoading("Saving blueprint...");
211 237 var savePicker = new FileSavePicker();
212 238 InitializeWithWindow.Initialize(savePicker, WindowNative.GetWindowHandle(App.MainWindow));
213 239 savePicker.FileTypeChoices.Add(new("Blueprint file", [".sbc"]));
@@ -251,16 +277,20 @@ public partial class BlueprintEditSubPageViewModel : ViewModelBase
251 277 }
252 278 else if (result.StartsWith("Error:"))
253 279 {
254 messageService?.ShowMessage(result.Replace("Error:", string.Empty), "错误", InfoBarSeverity.Error);
280 messageService?.ShowMessage(result.Replace("Error:", string.Empty), "失败", InfoBarSeverity.Error);
255 281 }
256 282 }
283 else
284 {
285 messageService?.ShowMessage("保存失败:未知原因", "失败", InfoBarSeverity.Error);
286 }
257 287 }
258 288 catch (Exception ex)
259 289 {
260 Console.WriteLine(ex.ToString());
290 messageService?.ShowMessage($"保存失败:{ex.Message}", "失败", InfoBarSeverity.Error);
261 291 }
262 292 }
263 IsProgressRingVisible = false;
293 loadingService?.StopLoading();
264 294 }
265 295
266 296 [RelayCommand]
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintsViewPageViewModel.cs +4 -4
@@ -12,15 +12,15 @@ namespace SpaceEngineersBlueprintEditor.ViewModels;
12 12
13 13 public partial class BlueprintsViewPageViewModel : ViewModelBase
14 14 {
15 private string currentParameter = "";
16 private BlueprintInfoViewData? currentBlueprintInfoViewData;
17 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
18 15 [ObservableProperty]
19 16 private string searchText = "";
20 17 [ObservableProperty]
21 18 private string copyFolderText = "";
22 19 [ObservableProperty]
23 20 private string deleteEnsureText = "";
21 private string currentParameter = "";
22 private BlueprintInfoViewData? currentBlueprintInfoViewData;
23 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
24 24 public INavigationParameterService<object> NavigationParameterService { get; set; } = new NavigationParameterService<object>();
25 25 public IDialogService DialogService { get; set; } = new DialogService();
26 26 public ObservableCollection<BlueprintInfoViewData> BlueprintInfoViewDataList { get; set; } = [];
@@ -52,7 +52,7 @@ public partial class BlueprintsViewPageViewModel : ViewModelBase
52 52
53 53 private async void NavigationParameterService_ParameterChange(object? sender, object? e)
54 54 {
55 if (e is string stringParameter)
55 if (e is string stringParameter && !currentParameter.Equals(stringParameter))
56 56 {
57 57 currentParameter = stringParameter;
58 58 await BlueprintsManager.LoadBlueprintsAsync();
Modified SpaceEngineersBlueprintEditor/ViewModels/GameDefinitionsViewPageViewModel.cs +3 -3
@@ -19,14 +19,13 @@ public partial class GameDefinitionsViewPageViewModel : ViewModelBase
19 19 [ObservableProperty]
20 20 private string propertiesSearchText = "";
21 21 [ObservableProperty]
22 private bool isProgressRingVisible = true;
23 [ObservableProperty]
24 22 private bool isUIVisible = false;
25 23 [ObservableProperty]
26 24 private DefinitionViewData? selectedDefinitionViewData;
27 25 private string currentParameter = "";
28 26 private readonly List<DefinitionViewData> _definitions = [];
29 27 private readonly List<PropertyViewData> _propertiesInfo = [];
28 private readonly ILoadingService? loadingService = GlobalServiceManager.GetService<ILoadingService>();
30 29 public ObservableCollection<DefinitionViewData> Definitions { get; } = [];
31 30 public ObservableCollection<PropertyViewData> PropertiesInfo { get; } = [];
32 31 public INavigationParameterService<string> NavigationParameterService { get; } = new NavigationParameterService<string>();
@@ -68,11 +67,12 @@ public partial class GameDefinitionsViewPageViewModel : ViewModelBase
68 67 {
69 68 if (e is null || NavigationParameterService.SameAsLast)
70 69 return;
70 loadingService?.StartLoading("Loading blueprint...");
71 71 currentParameter = e;
72 72 await Helper.Wait(() => Initializer.IsDefinitionsLoadComplete && DefinitionPropertiesDisplayService.IsPageLoaded);
73 73 LoadDefinitions(GetCurrentDefinitions(currentParameter));
74 74 IsUIVisible = true;
75 IsProgressRingVisible = false;
75 loadingService?.StopLoading();
76 76 DefinitionPropertiesDisplayService.Select(Definitions.First());
77 77 }
78 78
Modified SpaceEngineersBlueprintEditor/ViewModels/MainPageViewModel.cs +5 -8
Modified SpaceEngineersBlueprintEditor/Views/AppShellPage.xaml +11 -0
Modified SpaceEngineersBlueprintEditor/Views/AppShellPage.xaml.cs +1 -0
Modified SpaceEngineersBlueprintEditor/Views/BlueprintDetailPage.xaml +51 -64
Modified SpaceEngineersBlueprintEditor/Views/BlueprintEditPage.xaml +1 -1
Modified SpaceEngineersBlueprintEditor/Views/BlueprintEditPage.xaml.cs +2 -0
Modified SpaceEngineersBlueprintEditor/Views/BlueprintEditSubPage.xaml +70 -48
Modified SpaceEngineersBlueprintEditor/Views/BlueprintEditSubPage.xaml.cs +9 -0
Modified SpaceEngineersBlueprintEditor/Views/BlueprintsViewPage.xaml +1 -1
Modified SpaceEngineersBlueprintEditor/Views/GameDefinitionsViewPage.xaml +30 -43
Modified SpaceEngineersBlueprintEditor/Views/MainPage.xaml +33 -46