/// <summary> /// 技術項目リストの新規イベントボタン押下時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnNewEventButtonClick(object sender, EventArgs e) { TechGroup grp = GetSelectedGroup(); // 項目を作成する TechEvent item = new TechEvent(); // 編集済みフラグを設定する grp.SetDirty(); item.SetDirtyAll(); ITechItem selected = techListBox.SelectedItem as ITechItem; if (selected != null) { // 選択項目の先頭座標を引き継ぐ item.Positions.Add(new TechPosition { X = selected.Positions[0].X, Y = selected.Positions[0].Y }); // 選択項目が技術イベントならばIDを10増やす if (selected is TechEvent) { TechEvent selectedEvent = selected as TechEvent; item.Id = selectedEvent.Id + 10; } // 技術項目リストに項目を挿入する grp.InsertItem(item, selected); // 項目リストビューに項目を挿入する InsertTechListItem(item, techListBox.SelectedIndex + 1); } else { // 仮の座標を登録する item.Positions.Add(new TechPosition()); // 技術項目リストに項目を追加する grp.AddItem(item); // 項目リストビューに項目を追加する AddTechListItem(item); } // 技術ツリーにラベルを追加する _techTreePanelController.AddItem(item); Log.Info("[Tech] Added new event: {0}", item.Id); }