예제 #1
0
        /// <summary>
        /// キャラクター一覧のコンテキストメニューで削除を選択したとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteCharacterMenu_Click(object sender, RoutedEventArgs e)
        {
            var item = (string)CharacterListView.SelectedItem;

            if (item == null)
            {
                return;
            }
            selectedTitle.Characters.Remove(item);
            CharacterListView.Items.Remove(item);
            CharacterField.Clear();
            selectedCharacter      = null;
            selectedCharacterIndex = -1;
        }
예제 #2
0
        /// <summary>
        /// プリセットを開く
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OpenMenuClick(object sender, RoutedEventArgs e)
        {
            titleListView.Items.Clear();

            selectedTitle      = null;
            selectedTitleIndex = -1;
            selectedCharacter  = null;
            selectedTitleIndex = -1;

            // ダイアログを開く
            var dialog = new Microsoft.Win32.OpenFileDialog
            {
                // フィルタ
                Filter      = "JSONファイル(*.json)|*.json",
                FilterIndex = 1
            };

            if (dialog.ShowDialog() == true)
            {
                IsEnabled = false;
                ReadJson(dialog.FileName);
                IsEnabled = true;
            }

            if (presets == null)
            {
                return;
            }

            // タイトルバーに開いているファイル名を設定する
            Title = dialog.SafeFileName + " - PresetManager";

            // TextBoxをクリアする
            TitleField.Clear();
            ExplainField.Clear();
            CharacterField.Clear();

            foreach (var preset in presets)
            {
                titleListView.Items.Add(preset.Title);
            }
        }
예제 #3
0
        /// <summary>
        /// タイトル一覧の行が選択されたときの処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TitleListViewSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var index = titleListView.SelectedIndex;

            if (index < 0)
            {
                return;
            }
            // 選択項目を保持する
            selectedTitle      = presets[index];
            selectedTitleIndex = index;

            TitleField.Text   = selectedTitle.Title;
            ExplainField.Text = selectedTitle.Explain;
            CharacterField.Clear();

            // キャラクターの表示
            CharacterListView.Items.Clear();
            foreach (var character in selectedTitle.Characters)
            {
                CharacterListView.Items.Add(character);
            }
        }