diff --git a/.idea/.idea.NetworkDiagram/.idea/vcs.xml b/.idea/.idea.NetworkDiagram/.idea/vcs.xml new file mode 100644 index 0000000..8306744 --- /dev/null +++ b/.idea/.idea.NetworkDiagram/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/NetworkDiagram/Assets/assets.zip b/NetworkDiagram/Assets/assets.zip new file mode 100644 index 0000000..6e6ab1f Binary files /dev/null and b/NetworkDiagram/Assets/assets.zip differ diff --git a/NetworkDiagram/MainWindow.xaml b/NetworkDiagram/MainWindow.xaml index c8c29e1..faf5008 100644 --- a/NetworkDiagram/MainWindow.xaml +++ b/NetworkDiagram/MainWindow.xaml @@ -52,8 +52,8 @@ - EN - CZ + EN + CZ diff --git a/NetworkDiagram/MainWindow.xaml.cs b/NetworkDiagram/MainWindow.xaml.cs index 584193f..5247a9a 100644 --- a/NetworkDiagram/MainWindow.xaml.cs +++ b/NetworkDiagram/MainWindow.xaml.cs @@ -100,7 +100,7 @@ namespace NetworkDiagram private void AddDeviceToCanvas(DeviceTemplate template, double x, double y) { - var placed = new PlacedDevice { Name = template.Name, IconPath = template.IconPath, X = x, Y = y }; + var placed = new PlacedDevice { Name = template.Name, TemplateName = template.Name, IconPath = template.IconPath, X = x, Y = y }; _currentDiagram.Devices.Add(placed); RenderDevice(placed); } @@ -445,6 +445,13 @@ namespace NetworkDiagram var model = JsonSerializer.Deserialize(json); if (model == null) return; _currentDiagram = new Diagram { Devices = model.Devices }; + + foreach (var device in _currentDiagram.Devices) + { + var template = _deviceTemplates.FirstOrDefault(t => t.Name == device.TemplateName); + if (template != null) device.IconPath = template.IconPath; + } + DiagramCanvas.Children.Clear(); _connectionLines.Clear(); _deviceElements.Clear(); diff --git a/NetworkDiagram/Models/DiagramModels.cs b/NetworkDiagram/Models/DiagramModels.cs index d5bba91..e7ea684 100644 --- a/NetworkDiagram/Models/DiagramModels.cs +++ b/NetworkDiagram/Models/DiagramModels.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; +using System.Text.Json.Serialization; namespace NetworkDiagram.Models { @@ -30,6 +31,9 @@ namespace NetworkDiagram.Models set { _name = value; OnPropertyChanged(); } } + public string TemplateName { get; set; } = string.Empty; + + [JsonIgnore] public string IconPath { get; set; } = string.Empty; public double X