Added: - New `ProgressService` class for managing progress indicators. - New `AssetDatabase`, `AssetOpenHandlerAttribute`, and `AsyncAssetOpenHandlerAttribute` classes for asset handling. - `Ghost.UnitTest` project for unit testing with associated files and configurations. Changed: - `ActivationHandler` class to ensure correct handling of `LaunchActivatedEventArgs`. - `App.xaml.cs` to register `INotificationService` and `IProgressService`, replacing `StackedNotificationService`. - `OnLaunched` method in `App.xaml.cs` to correctly call `ActivationHandler.Handle(args)` and start the host. - `INavigationAware` interface from internal to public for broader access. - `EditorState.cs` to activate `EditorApplication` with the current service provider. - Property names in `AssetItem` and `ExplorerItem` structs to `Name` and `FullName`. - `NotificationService` class to implement `INotificationService` and refactor notification handling. - `AssetPathToGlyphConverter` to handle file extensions consistently. - Bindings in `ProjectPage.xaml` and `ProjectPage.xaml.cs` to use `FullName` instead of `Path`. - `EngineEditorWindow` and `LandingWindow` classes to utilize new notification and progress services. - `Logger` class to include a new method for logging errors with exceptions. Updated: - Manifest files and project files to reflect new structure and dependencies. - Solution file `GhostEngine.sln` to include the new unit test project. - Added several new test classes and methods in `UnitTests.cs`.
244 lines
9.9 KiB
XML
244 lines
9.9 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<winex:WindowEx
|
|
x:Class="Ghost.App.View.Windows.EngineEditorWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:behaviors="using:CommunityToolkit.WinUI.Behaviors"
|
|
xmlns:controls="using:CommunityToolkit.WinUI.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:ee="using:Ghost.App.View.Pages.EngineEditor"
|
|
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
|
|
xmlns:local="using:Ghost.App.View.Windows"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:winex="using:WinUIEx"
|
|
Activated="WindowEx_Activated"
|
|
Closed="WindowEx_Closed"
|
|
mc:Ignorable="d">
|
|
|
|
<Window.SystemBackdrop>
|
|
<MicaBackdrop />
|
|
</Window.SystemBackdrop>
|
|
|
|
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Titlebar -->
|
|
<StackPanel
|
|
Grid.Row="0"
|
|
Padding="8"
|
|
Orientation="Horizontal">
|
|
<ImageIcon
|
|
Width="24"
|
|
Height="24"
|
|
VerticalAlignment="Center"
|
|
Source="ms-appx:///Assets/Icon.targetsize-32.png" />
|
|
<TextBlock
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="{x:Bind ViewModel.engineVersionDescriptor}" />
|
|
<TextBlock
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="{x:Bind ViewModel.CurrentProject.Metadata.Name, Mode=OneWay}" />
|
|
</StackPanel>
|
|
|
|
<!-- Toolbar -->
|
|
<Grid Grid.Row="1" Margin="4,4">
|
|
<controls:TabbedCommandBar>
|
|
<controls:TabbedCommandBar.MenuItems>
|
|
<controls:TabbedCommandBarItem Header="Home">
|
|
<AppBarButton Label="Undo" />
|
|
<AppBarButton Label="Redo" />
|
|
<AppBarButton Label="Paste" />
|
|
</controls:TabbedCommandBarItem>
|
|
<controls:TabbedCommandBarItem Header="Home">
|
|
<AppBarButton Label="Undo" />
|
|
<AppBarButton Label="Redo" />
|
|
<AppBarButton Label="Paste" />
|
|
</controls:TabbedCommandBarItem>
|
|
<controls:TabbedCommandBarItem Header="Home">
|
|
<AppBarButton Label="Undo" />
|
|
<AppBarButton Label="Redo" />
|
|
<AppBarButton Label="Paste" />
|
|
</controls:TabbedCommandBarItem>
|
|
</controls:TabbedCommandBar.MenuItems>
|
|
</controls:TabbedCommandBar>
|
|
</Grid>
|
|
|
|
<!-- Editor -->
|
|
<Grid Grid.Row="2">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TabView
|
|
Grid.Column="0"
|
|
Width="350"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch">
|
|
<TabView.TabItems>
|
|
<TabViewItem Header="Hierarchy">
|
|
<TabViewItem.IconSource>
|
|
<FontIconSource Glyph="" />
|
|
</TabViewItem.IconSource>
|
|
<ee:HierarchyPage />
|
|
</TabViewItem>
|
|
</TabView.TabItems>
|
|
</TabView>
|
|
|
|
<TabView Grid.Column="1">
|
|
<TabView.TabItems>
|
|
<TabViewItem Header="Scene">
|
|
<TabViewItem.IconSource>
|
|
<FontIconSource Glyph="" />
|
|
</TabViewItem.IconSource>
|
|
<Image
|
|
VerticalAlignment="Center"
|
|
Source="C:\Users\Misaki\OneDrive\Pictures\Screenshots\Screenshot 2024-07-20 021657.png"
|
|
Stretch="UniformToFill" />
|
|
</TabViewItem>
|
|
</TabView.TabItems>
|
|
</TabView>
|
|
|
|
<Grid
|
|
Grid.Column="2"
|
|
Width="350"
|
|
Background="Bisque" />
|
|
</Grid>
|
|
|
|
<TabView Grid.Row="1" Height="350">
|
|
<TabView.TabItems>
|
|
<TabViewItem Header="Project">
|
|
<TabViewItem.IconSource>
|
|
<FontIconSource Glyph="" />
|
|
</TabViewItem.IconSource>
|
|
<ee:ProjectPage />
|
|
</TabViewItem>
|
|
<TabViewItem Header="Console">
|
|
<TabViewItem.IconSource>
|
|
<FontIconSource Glyph="" />
|
|
</TabViewItem.IconSource>
|
|
<ee:ConsolePage />
|
|
</TabViewItem>
|
|
</TabView.TabItems>
|
|
</TabView>
|
|
</Grid>
|
|
|
|
<!-- Status Bar -->
|
|
<Grid
|
|
Grid.Row="3"
|
|
Height="25"
|
|
Background="{ThemeResource SolidBackgroundFillColorBaseAltBrush}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid Grid.Column="0">
|
|
<FontIcon
|
|
Margin="8,0,0,0"
|
|
FontSize="16"
|
|
Foreground="{ThemeResource SystemFillColorSuccessBrush}"
|
|
Glyph=""
|
|
Visibility="Visible" />
|
|
|
|
<StackPanel Orientation="Horizontal" Visibility="Collapsed">
|
|
<FontIcon
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
FontSize="16"
|
|
Foreground="{ThemeResource SystemFillColorAttentionBrush}"
|
|
Glyph="" />
|
|
<TextBlock
|
|
Margin="4,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="0" />
|
|
<FontIcon
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
FontSize="16"
|
|
Foreground="{ThemeResource SystemFillColorCautionBrush}"
|
|
Glyph="" />
|
|
<TextBlock
|
|
Margin="4,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="0" />
|
|
<FontIcon
|
|
Margin="8,0,0,0"
|
|
VerticalAlignment="Center"
|
|
FontSize="16"
|
|
Foreground="{ThemeResource SystemFillColorCriticalBrush}"
|
|
Glyph="" />
|
|
<TextBlock
|
|
Margin="4,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
Text="0" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="0" Grid.RowSpan="4">
|
|
<InfoBar
|
|
x:Name="InfoBar"
|
|
Margin="16"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Bottom">
|
|
<interactivity:Interaction.Behaviors>
|
|
<behaviors:StackedNotificationsBehavior x:Name="NotificationQueue" />
|
|
</interactivity:Interaction.Behaviors>
|
|
</InfoBar>
|
|
|
|
<Grid
|
|
x:Name="ProgressBarContainer"
|
|
Background="{ThemeResource SmokeFillColorDefaultBrush}"
|
|
Visibility="Collapsed">
|
|
<Grid
|
|
Height="100"
|
|
Padding="36,24"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Background="{ThemeResource SolidBackgroundFillColorBaseBrush}"
|
|
CornerRadius="{StaticResource OverlayCornerRadius}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock
|
|
x:Name="ProgressMessage"
|
|
Grid.Row="0"
|
|
Margin="0,0,0,12"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource TitleTextBlockStyle}"
|
|
Text="Loading..." />
|
|
<ProgressBar
|
|
x:Name="ProgressBar"
|
|
Grid.Row="1"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Center"
|
|
IsIndeterminate="True" />
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</winex:WindowEx> |