void update_view() { TrapList.Items.Clear(); if (fTrapElement == null) { return; } ListViewItem name_lvi = TrapList.Items.Add(fTrapElement.Trap.Name + ": " + fTrapElement.GetXP() + " XP"); name_lvi.Group = TrapList.Groups[0]; ListViewItem info_lvi = TrapList.Items.Add(fTrapElement.Trap.Info); info_lvi.Group = TrapList.Groups[0]; if (fTrapElement.MapID != Guid.Empty) { Map m = Session.Project.FindTacticalMap(fTrapElement.MapID); MapArea ma = m.FindArea(fTrapElement.MapAreaID); string str = "Location: " + m.Name; if (ma != null) { str += " (" + ma.Name + ")"; } ListViewItem lvi_loc = TrapList.Items.Add(str); lvi_loc.Group = TrapList.Groups[0]; } foreach (TrapSkillData tsd in fTrapElement.Trap.Skills) { ListViewItem lvi = TrapList.Items.Add(tsd.ToString()); lvi.Group = TrapList.Groups[1]; lvi.Tag = tsd; } if (fTrapElement.Trap.Skills.Count == 0) { ListViewItem lvi = TrapList.Items.Add("(no skills)"); lvi.Group = TrapList.Groups[1]; lvi.ForeColor = SystemColors.GrayText; } foreach (string cm in fTrapElement.Trap.Countermeasures) { ListViewItem lvi = TrapList.Items.Add(cm); lvi.Group = TrapList.Groups[2]; lvi.Tag = cm; } if (fTrapElement.Trap.Countermeasures.Count == 0) { ListViewItem lvi = TrapList.Items.Add("(no countermeasures)"); lvi.Group = TrapList.Groups[2]; lvi.ForeColor = SystemColors.GrayText; } }