/// <summary>
        ///     同盟の新規ボタン押下時の処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnAllianceNewButtonClick(object sender, EventArgs e)
        {
            Scenario scenario = Scenarios.Data;
            List<Alliance> alliances = scenario.GlobalData.Alliances;

            // 同盟リストに項目を追加する
            Alliance alliance = new Alliance { Id = Scenarios.GetNewTypeId(Scenarios.DefaultAllianceType, 1) };
            alliances.Add(alliance);

            // 同盟リストビューに項目を追加する
            ListViewItem item = new ListViewItem { Text = Resources.Alliance, Tag = alliance };
            item.SubItems.Add("");
            allianceListView.Items.Add(item);

            Log.Info("[Scenario] alliance added ({0})", allianceListView.Items.Count - 4);

            // 編集済みフラグを設定する
            alliance.SetDirty(Alliance.ItemId.Type);
            alliance.SetDirty(Alliance.ItemId.Id);
            Scenarios.SetDirty();

            // 追加した項目を選択する
            if (allianceListView.SelectedIndices.Count > 0)
            {
                ListViewItem prev = allianceListView.SelectedItems[0];
                prev.Focused = false;
                prev.Selected = false;
            }
            item.Focused = true;
            item.Selected = true;
        }
 /// <summary>
 ///     編集項目の編集済みフラグを設定する
 /// </summary>
 /// <param name="itemId">項目ID</param>
 /// <param name="alliance">同盟</param>
 public void SetItemDirty(ScenarioEditorItemId itemId, Alliance alliance)
 {
     alliance.SetDirty((Alliance.ItemId) ItemDirtyFlags[(int) itemId]);
     Scenarios.Data.SetDirty();
     Scenarios.SetDirty();
 }