コード例 #1
0
        private void Load(Song song)
        {
            var opened = CheckSongOpened(song);

            if (opened == null)
            {
                opened = new EditorDocument(song, this);
                openDocuments.Add(opened);
            }

            opened.Grid.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == "SelectedElement")
                {
                    OnPropertyChanged("FontSizeEnabled");
                }
            };

            Tabs.SelectedItem = opened;
        }
コード例 #2
0
        private bool CloseSong(EditorDocument doc)
        {
            if (doc == null)
            {
                throw new ArgumentNullException("doc");
            }

            bool doSave = false;

            if (doc.Song.IsModified)
            {
                var res = MessageBox.Show(String.Format(Resource.eMsgSaveSongChanges, doc.Song.Title), Resource.eMsgSaveSongChangesTitle, MessageBoxButton.YesNoCancel);
                if (res == MessageBoxResult.Cancel)
                {
                    return(false);
                }

                if (res == MessageBoxResult.Yes)
                {
                    doSave = true;
                    SaveSong(doc.Song);
                }
            }

            bool didSave = !doc.Song.IsModified;

            // it might still be modified when saving was cancelled
            if (!doSave || didSave)
            {
                openDocuments.Remove(doc);
                doc.Grid.Cleanup();
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #3
0
        private void Load(Song song)
        {
            var opened = CheckSongOpened(song);
            if (opened == null)
            {
                opened = new EditorDocument(song, this);
                openDocuments.Add(opened);
            }

            opened.Grid.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == "SelectedElement")
                    OnPropertyChanged("FontSizeEnabled");
            };

            Tabs.SelectedItem = opened;
        }
コード例 #4
0
        private bool CloseSong(EditorDocument doc)
        {
            if (doc == null)
                throw new ArgumentNullException("doc");

            bool doSave = false;

            if (doc.Song.IsModified)
            {
                var res = MessageBox.Show(String.Format(Resource.eMsgSaveSongChanges, doc.Song.Title), Resource.eMsgSaveSongChangesTitle, MessageBoxButton.YesNoCancel);
                if (res == MessageBoxResult.Cancel)
                {
                    return false;
                }

                if (res == MessageBoxResult.Yes)
                {
                    doSave = true;
                    SaveSong(doc.Song);
                }
            }

            bool didSave = !doc.Song.IsModified;

            // it might still be modified when saving was cancelled
            if (!doSave || didSave)
            {
                openDocuments.Remove(doc);
                doc.Grid.Cleanup();
                return true;
            }
            else
            {
                return false;
            }
        }