about summary refs log tree commit diff
path: root/ModerationClient/Models
diff options
context:
space:
mode:
Diffstat (limited to 'ModerationClient/Models')
-rw-r--r--ModerationClient/Models/SpaceTreeNodes/RoomNode.cs14
-rw-r--r--ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs15
2 files changed, 29 insertions, 0 deletions
diff --git a/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs b/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs
new file mode 100644

index 0000000..76d5aa9 --- /dev/null +++ b/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs
@@ -0,0 +1,14 @@ +using ArcaneLibs; + +namespace ModerationClient.Models.SpaceTreeNodes; + +public class RoomNode : NotifyPropertyChanged { + private string? _name; + + public string RoomID { get; set; } + + public string? Name { + get => _name; + set => SetField(ref _name, value); + } +} \ No newline at end of file diff --git a/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs new file mode 100644
index 0000000..b8042ae --- /dev/null +++ b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
@@ -0,0 +1,15 @@ +using System.Collections.ObjectModel; + +namespace ModerationClient.Models.SpaceTreeNodes; + +public class SpaceNode : RoomNode { + private bool _isExpanded = false; + + public SpaceNode(bool includeSelf = true) { + if(includeSelf) + ChildRooms = [this]; + } + + public ObservableCollection<SpaceNode> ChildSpaces { get; set; } = []; + public ObservableCollection<RoomNode> ChildRooms { get; set; } = []; +} \ No newline at end of file