예제 #1
0
        private void AddHighlightCommandExecute([NotNull] object obj)
        {
            Assert.ArgumentNotNull(obj, "obj");

            var highlightToAdd      = new HighlightViewModel(Groups, Groups.First(g => g.IsBuildIn), new Highlight());
            var highlightEditDialog = new HighlightEditDialog {
                DataContext = highlightToAdd, Owner = (Window)obj
            };

            highlightEditDialog.Show();
            highlightEditDialog.Closed += (s, e) => {
                if (highlightEditDialog.Save)
                {
                    highlightToAdd.HighlightGroup.AddHighlight(highlightToAdd);
                }
            };
        }
예제 #2
0
        private void EditHighlightCommandExecute([NotNull] object obj)
        {
            Assert.ArgumentNotNull(obj, "obj");

            if (SelectedHighlight == null)
            {
                return;
            }

            var originalHighlight   = SelectedHighlight;
            var highlightEditDialog = new HighlightEditDialog {
                DataContext = originalHighlight.Clone(), Owner = (Window)obj
            };

            highlightEditDialog.Show();
            highlightEditDialog.Closed += (s, e) => {
                if (!highlightEditDialog.Save)
                {
                    return;
                }

                var changedHighlight = (HighlightViewModel)highlightEditDialog.DataContext;
                if (originalHighlight.HighlightGroup == changedHighlight.HighlightGroup)
                {
                    var originalIndex = originalHighlight.HighlightGroup.Highlights.IndexOf(originalHighlight);
                    originalHighlight.HighlightGroup.InsertHighlight(originalIndex, changedHighlight);
                }
                else
                {
                    changedHighlight.HighlightGroup.AddHighlight(changedHighlight);
                }

                originalHighlight.HighlightGroup.RemoveHighlight(originalHighlight);
                SelectedHighlight = (HighlightViewModel)highlightEditDialog.DataContext;
            };
        }