diff --git a/TagHierarchyManager.sln b/TagHierarchyManager.sln index 6d3e6ea..0fb2c02 100644 --- a/TagHierarchyManager.sln +++ b/TagHierarchyManager.sln @@ -9,6 +9,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{397693A2 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagHierarchyManager.Tests", "Tests\TagHierarchyManager.Tests.csproj", "{F26B4A2D-0389-4FE8-8B0D-E491B354AC83}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UI", "UI\UI.csproj", "{045690BF-2FC5-4B0E-9516-8F331BD18219}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -26,6 +28,10 @@ Global {F26B4A2D-0389-4FE8-8B0D-E491B354AC83}.Debug|Any CPU.Build.0 = Debug|Any CPU {F26B4A2D-0389-4FE8-8B0D-E491B354AC83}.Release|Any CPU.ActiveCfg = Release|Any CPU {F26B4A2D-0389-4FE8-8B0D-E491B354AC83}.Release|Any CPU.Build.0 = Release|Any CPU + {045690BF-2FC5-4B0E-9516-8F331BD18219}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {045690BF-2FC5-4B0E-9516-8F331BD18219}.Debug|Any CPU.Build.0 = Debug|Any CPU + {045690BF-2FC5-4B0E-9516-8F331BD18219}.Release|Any CPU.ActiveCfg = Release|Any CPU + {045690BF-2FC5-4B0E-9516-8F331BD18219}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {F26B4A2D-0389-4FE8-8B0D-E491B354AC83} = {397693A2-4BD9-4EA2-B70E-84B0B4DD2BF9} diff --git a/UI/App.axaml b/UI/App.axaml new file mode 100644 index 0000000..ac1e0b5 --- /dev/null +++ b/UI/App.axaml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/UI/App.axaml.cs b/UI/App.axaml.cs new file mode 100644 index 0000000..34093fe --- /dev/null +++ b/UI/App.axaml.cs @@ -0,0 +1,23 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; + +namespace UI; + +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } +} \ No newline at end of file diff --git a/UI/MainWindow.axaml b/UI/MainWindow.axaml new file mode 100644 index 0000000..55008a0 --- /dev/null +++ b/UI/MainWindow.axaml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + Ready. + + + + + + + + + + + + + + + + + + Fuzzy search + Starts with + Ends with + Exact match + + + + + + + + + + + + + + Is top level + + + + + + + + + + diff --git a/UI/MainWindow.axaml.cs b/UI/MainWindow.axaml.cs new file mode 100644 index 0000000..90b8e59 --- /dev/null +++ b/UI/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace UI; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/UI/Program.cs b/UI/Program.cs new file mode 100644 index 0000000..74ceefb --- /dev/null +++ b/UI/Program.cs @@ -0,0 +1,21 @@ +using Avalonia; +using System; + +namespace UI; + +class Program +{ + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace(); +} \ No newline at end of file diff --git a/UI/UI.csproj b/UI/UI.csproj new file mode 100644 index 0000000..81088bf --- /dev/null +++ b/UI/UI.csproj @@ -0,0 +1,21 @@ + + + WinExe + net10.0 + enable + app.manifest + true + + + + + + + + + + None + All + + + diff --git a/UI/app.manifest b/UI/app.manifest new file mode 100644 index 0000000..a335105 --- /dev/null +++ b/UI/app.manifest @@ -0,0 +1,18 @@ + + + + + + + + + + + + + +