diff --git a/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEditor.cs b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEditor.cs
index 9cadd872..16d38c48 100644
--- a/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEditor.cs
+++ b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEditor.cs
@@ -38,7 +38,15 @@ namespace UniversalEditor.Plugins.Multimedia.UserInterface.Editors.Multimedia.Pa
}
public override void UpdateSelections()
{
- throw new NotImplementedException();
+ if (Selections.Count == 1)
+ {
+ _SelectedEntry = (Selections[0] as PaletteEntrySelection).Value;
+ }
+ else
+ {
+ _SelectedEntry = null;
+ }
+ Refresh();
}
private static EditorReference _er = null;
@@ -204,6 +212,12 @@ namespace UniversalEditor.Plugins.Multimedia.UserInterface.Editors.Multimedia.Pa
get { return _SelectedEntry; }
set
{
+ bool changed = (_SelectedEntry != value);
+ if (!changed) return;
+
+ Selections.Clear();
+ Selections.Add(new PaletteEntrySelection(value));
+
System.ComponentModel.CancelEventArgs ce = new System.ComponentModel.CancelEventArgs();
OnSelectionChanging(ce);
if (ce.Cancel) return;
diff --git a/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEntrySelection.cs b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEntrySelection.cs
new file mode 100644
index 00000000..8be94779d
--- /dev/null
+++ b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/Palette/PaletteEntrySelection.cs
@@ -0,0 +1,17 @@
+using System;
+using UniversalEditor.ObjectModels.Multimedia.Palette;
+using UniversalEditor.UserInterface;
+
+namespace UniversalEditor.Plugins.Multimedia.UserInterface.Editors.Multimedia.Palette
+{
+ public class PaletteEntrySelection : EditorSelection
+ {
+ public PaletteEntrySelection(PaletteEntry value)
+ {
+ Value = value;
+ }
+ public PaletteEntry Value { get; set; } = null;
+
+ public override object Content { get => Value; set => Value = (value as PaletteEntry); }
+ }
+}
diff --git a/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface.csproj b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface.csproj
index 47cd56cc..48db6696 100644
--- a/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface.csproj
+++ b/CSharp/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface.csproj
@@ -45,6 +45,7 @@
+