From 8a57680b0ec7b5a28ca8608bfd11c365511a5e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Kub=C3=AD=C4=8Dek?= Date: Tue, 21 Apr 2026 18:15:07 +0200 Subject: [PATCH] rewrite into avalonia for linux support --- .idea/.idea.NetworkDiagram/.idea/avalonia.xml | 10 + NetworkDiagram.slnx | 1 + NetworkDiagram/App.axaml | 88 +++ NetworkDiagram/App.axaml.cs | 23 + NetworkDiagram/App.xaml | 202 ----- NetworkDiagram/App.xaml.cs | 10 - NetworkDiagram/AssemblyInfo.cs | 10 - NetworkDiagram/EditDeviceWindow.axaml | 22 + NetworkDiagram/EditDeviceWindow.axaml.cs | 42 ++ NetworkDiagram/EditDeviceWindow.xaml | 31 - NetworkDiagram/EditDeviceWindow.xaml.cs | 32 - NetworkDiagram/Localization/Strings.cs.axaml | 25 + NetworkDiagram/Localization/Strings.cs.xaml | 26 - NetworkDiagram/Localization/Strings.en.axaml | 25 + NetworkDiagram/Localization/Strings.en.xaml | 26 - NetworkDiagram/MainWindow.axaml | 112 +++ NetworkDiagram/MainWindow.axaml.cs | 644 ++++++++++++++++ NetworkDiagram/MainWindow.xaml | 138 ---- NetworkDiagram/MainWindow.xaml.cs | 710 ------------------ NetworkDiagram/Models/DiagramModels.cs | 75 +- NetworkDiagram/NetworkDiagram.csproj | 39 +- NetworkDiagram/Program.cs | 17 + NetworkDiagramAvalonia/App.axaml | 15 + NetworkDiagramAvalonia/App.axaml.cs | 28 + .../Assets/avalonia-logo.ico | Bin 0 -> 175875 bytes .../NetworkDiagramAvalonia.csproj | 26 + NetworkDiagramAvalonia/Program.cs | 24 + NetworkDiagramAvalonia/ViewLocator.cs | 37 + .../ViewModels/MainWindowViewModel.cs | 6 + .../ViewModels/ViewModelBase.cs | 7 + NetworkDiagramAvalonia/Views/MainWindow.axaml | 21 + .../Views/MainWindow.axaml.cs | 11 + NetworkDiagramAvalonia/app.manifest | 18 + 33 files changed, 1288 insertions(+), 1213 deletions(-) create mode 100644 .idea/.idea.NetworkDiagram/.idea/avalonia.xml create mode 100644 NetworkDiagram/App.axaml create mode 100644 NetworkDiagram/App.axaml.cs delete mode 100644 NetworkDiagram/App.xaml delete mode 100644 NetworkDiagram/App.xaml.cs delete mode 100644 NetworkDiagram/AssemblyInfo.cs create mode 100644 NetworkDiagram/EditDeviceWindow.axaml create mode 100644 NetworkDiagram/EditDeviceWindow.axaml.cs delete mode 100644 NetworkDiagram/EditDeviceWindow.xaml delete mode 100644 NetworkDiagram/EditDeviceWindow.xaml.cs create mode 100644 NetworkDiagram/Localization/Strings.cs.axaml delete mode 100644 NetworkDiagram/Localization/Strings.cs.xaml create mode 100644 NetworkDiagram/Localization/Strings.en.axaml delete mode 100644 NetworkDiagram/Localization/Strings.en.xaml create mode 100644 NetworkDiagram/MainWindow.axaml create mode 100644 NetworkDiagram/MainWindow.axaml.cs delete mode 100644 NetworkDiagram/MainWindow.xaml delete mode 100644 NetworkDiagram/MainWindow.xaml.cs create mode 100644 NetworkDiagram/Program.cs create mode 100644 NetworkDiagramAvalonia/App.axaml create mode 100644 NetworkDiagramAvalonia/App.axaml.cs create mode 100644 NetworkDiagramAvalonia/Assets/avalonia-logo.ico create mode 100644 NetworkDiagramAvalonia/NetworkDiagramAvalonia.csproj create mode 100644 NetworkDiagramAvalonia/Program.cs create mode 100644 NetworkDiagramAvalonia/ViewLocator.cs create mode 100644 NetworkDiagramAvalonia/ViewModels/MainWindowViewModel.cs create mode 100644 NetworkDiagramAvalonia/ViewModels/ViewModelBase.cs create mode 100644 NetworkDiagramAvalonia/Views/MainWindow.axaml create mode 100644 NetworkDiagramAvalonia/Views/MainWindow.axaml.cs create mode 100644 NetworkDiagramAvalonia/app.manifest diff --git a/.idea/.idea.NetworkDiagram/.idea/avalonia.xml b/.idea/.idea.NetworkDiagram/.idea/avalonia.xml new file mode 100644 index 0000000..9d413b1 --- /dev/null +++ b/.idea/.idea.NetworkDiagram/.idea/avalonia.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/NetworkDiagram.slnx b/NetworkDiagram.slnx index c3d1e2c..a3de534 100644 --- a/NetworkDiagram.slnx +++ b/NetworkDiagram.slnx @@ -1,3 +1,4 @@ + diff --git a/NetworkDiagram/App.axaml b/NetworkDiagram/App.axaml new file mode 100644 index 0000000..f51cea6 --- /dev/null +++ b/NetworkDiagram/App.axaml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + #004578 + #0078D7 + #E1EEFA + #D0E2F2 + #F5F9FF + #1B1B1B + #FFFFFF + #CCCCCC + + + + + + + + + + + + diff --git a/NetworkDiagram/App.axaml.cs b/NetworkDiagram/App.axaml.cs new file mode 100644 index 0000000..dc96a82 --- /dev/null +++ b/NetworkDiagram/App.axaml.cs @@ -0,0 +1,23 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; + +namespace NetworkDiagram; + +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(); + } +} diff --git a/NetworkDiagram/App.xaml b/NetworkDiagram/App.xaml deleted file mode 100644 index 0c5c082..0000000 --- a/NetworkDiagram/App.xaml +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/NetworkDiagram/App.xaml.cs b/NetworkDiagram/App.xaml.cs deleted file mode 100644 index 57c6000..0000000 --- a/NetworkDiagram/App.xaml.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Windows; - -namespace NetworkDiagram; - -/// -/// Interaction logic for App.xaml -/// -public partial class App : Application -{ -} \ No newline at end of file diff --git a/NetworkDiagram/AssemblyInfo.cs b/NetworkDiagram/AssemblyInfo.cs deleted file mode 100644 index 4a05c7d..0000000 --- a/NetworkDiagram/AssemblyInfo.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Windows; - -[assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] \ No newline at end of file diff --git a/NetworkDiagram/EditDeviceWindow.axaml b/NetworkDiagram/EditDeviceWindow.axaml new file mode 100644 index 0000000..8aed92d --- /dev/null +++ b/NetworkDiagram/EditDeviceWindow.axaml @@ -0,0 +1,22 @@ + + + + + + + + + + +