From 05da69d206684e3e9edea61b27d9118f6cb71ec1 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Wed, 20 May 2020 13:25:30 -0400 Subject: [PATCH] implement Document Explorer for PictureCollectionEditor --- .../PictureCollectionEditor.cs | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/PictureCollection/PictureCollectionEditor.cs b/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/PictureCollection/PictureCollectionEditor.cs index 15818c0e..86167a0e 100644 --- a/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/PictureCollection/PictureCollectionEditor.cs +++ b/Plugins.UserInterface/UniversalEditor.Plugins.Multimedia.UserInterface/Editors/Multimedia/PictureCollection/PictureCollectionEditor.cs @@ -89,9 +89,18 @@ namespace UniversalEditor.Plugins.Multimedia.UserInterface.Editors.Multimedia.Pi cmdSave.Enabled = false; cmdSaveAll.Enabled = false; + DocumentExplorer.Nodes.Clear(); + PictureCollectionObjectModel coll = (ObjectModel as PictureCollectionObjectModel); if (coll == null) return; + EditorDocumentExplorerNode nodeFrames = DocumentExplorer.Nodes.Add("Frames"); + for (int i = 0; i < coll.Pictures.Count; i++) + { + nodeFrames.Nodes.Add(String.Format("Frame {0}", (i + 1).ToString())); + nodeFrames.Nodes[i].SetExtraData("index", i); + } + txtFrameIndex.Maximum = coll.Pictures.Count - 1; cmdSave.Enabled = coll.Pictures.Count > 0; cmdSaveAll.Enabled = coll.Pictures.Count > 0; @@ -100,12 +109,20 @@ namespace UniversalEditor.Plugins.Multimedia.UserInterface.Editors.Multimedia.Pi picFrame.Image = coll.Pictures[0].ToImage(); } + protected override void OnDocumentExplorerSelectionChanged(EditorDocumentExplorerSelectionChangedEventArgs e) + { + base.OnDocumentExplorerSelectionChanged(e); + + if (e.Node == null) return; + + int index = e.Node.GetExtraData("index"); + SelectedFrameIndex = index; + } + public int SelectedFrameIndex { - get - { - return (int)txtFrameIndex.Value; - } + get { return (int)txtFrameIndex.Value; } + set { txtFrameIndex.Value = value; Refresh(); } } private PictureFrame picFrame = null;