/// <summary> /// Initializes a new instance of the <see cref="ResearchSettings"/> class. /// </summary> public ResearchSettings() { // Add default columns var defaultColumns = new ResearchColumn[] { ResearchColumn.Agent, ResearchColumn.Field, ResearchColumn.CurrentRP, ResearchColumn.PointsPerDay, ResearchColumn.Station }; Columns = EnumExtensions.GetValues<ResearchColumn>().Where(x => x != ResearchColumn.None).Select(x => new ResearchColumnSettings { Column = x, Visible = defaultColumns.Contains(x), Width = -1 }).ToArray(); }
/// <summary> /// Initializes a new instance of the <see cref="ResearchSettings"/> class. /// </summary> public ResearchSettings() { // Add default columns var defaultColumns = new ResearchColumn[] { ResearchColumn.Agent, ResearchColumn.Field, ResearchColumn.CurrentRP, ResearchColumn.PointsPerDay, ResearchColumn.Station }; Columns = EnumExtensions.GetValues <ResearchColumn>().Where(x => x != ResearchColumn.None).Select(x => new ResearchColumnSettings { Column = x, Visible = defaultColumns.Contains(x), Width = -1 }).ToArray(); }
/// <summary> /// Updates the listview sub-item. /// </summary> /// <param name="order"></param> /// <param name="item"></param> /// <param name="column"></param> private void SetColumn(ResearchPoint researchPoint, ListViewItem.ListViewSubItem item, ResearchColumn column) { switch (column) { case ResearchColumn.Agent: item.Text = researchPoint.AgentName; break; case ResearchColumn.Level: item.Text = researchPoint.AgentLevel.ToString(); break; case ResearchColumn.Quality: item.Text = researchPoint.AgentQuality.ToString(); break; case ResearchColumn.Field: item.Text = researchPoint.Field; break; case ResearchColumn.CurrentRP: item.Text = researchPoint.CurrentRP.ToString("N2"); break; case ResearchColumn.PointsPerDay: item.Text = researchPoint.PointsPerDay.ToString("N2"); break; case ResearchColumn.StartDate: item.Text = researchPoint.StartDate.ToLocalTime().ToString(); break; case ResearchColumn.Location: item.Text = researchPoint.Station.FullLocation; break; case ResearchColumn.Region: item.Text = researchPoint.Station.SolarSystem.Constellation.Region.Name; break; case ResearchColumn.SolarSystem: item.Text = researchPoint.Station.SolarSystem.Name; break; case ResearchColumn.Station: item.Text = researchPoint.Station.Name; break; default: //return; throw new NotImplementedException(); } }
/// <summary> /// When the user clicks a column header, we update the sorting. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lvResearchPoints_ColumnClick(object sender, ColumnClickEventArgs e) { var column = (ResearchColumn)lvResearchPoints.Columns[e.Column].Tag; if (m_sortCriteria == column) { m_sortAscending = !m_sortAscending; } else { m_sortCriteria = column; m_sortAscending = true; } UpdateContent(); }
/// <summary> /// Initializes a new instance of the <see cref="ResearchPointComparer"/> class. /// </summary> /// <param name="column">The industry job column.</param> /// <param name="isAscending">Is ascending flag.</param> public ResearchPointComparer(ResearchColumn column, bool isAscending) { m_column = column; m_isAscending = isAscending; }
/// <summary> /// When the user clicks a column header, we update the sorting. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView_ColumnClick(object sender, ColumnClickEventArgs e) { ResearchColumn column = (ResearchColumn)lvResearchPoints.Columns[e.Column].Tag; if (m_sortCriteria == column) m_sortAscending = !m_sortAscending; else { m_sortCriteria = column; m_sortAscending = true; } m_isUpdatingColumns = true; // Updates the item sorter UpdateSort(); m_isUpdatingColumns = false; }
/// <summary> /// Updates the listview sub-item. /// </summary> /// <param name="researchPoint"></param> /// <param name="item"></param> /// <param name="column"></param> private static void SetColumn(ResearchPoint researchPoint, ListViewItem.ListViewSubItem item, ResearchColumn column) { ConquerableStation outpost = researchPoint.Station as ConquerableStation; switch (column) { case ResearchColumn.Agent: item.Text = researchPoint.AgentName; break; case ResearchColumn.Level: item.Text = researchPoint.AgentLevel.ToString(CultureConstants.DefaultCulture); break; case ResearchColumn.Field: item.Text = researchPoint.Field; break; case ResearchColumn.CurrentRP: item.Text = researchPoint.CurrentRP.ToNumericString(2); break; case ResearchColumn.PointsPerDay: item.Text = researchPoint.PointsPerDay.ToNumericString(2); break; case ResearchColumn.StartDate: item.Text = $"{researchPoint.StartDate.ToLocalTime()}"; break; case ResearchColumn.Location: item.Text = outpost != null ? outpost.FullLocation : researchPoint.Station.FullLocation; break; case ResearchColumn.Region: item.Text = researchPoint.Station.SolarSystem.Constellation.Region.Name; break; case ResearchColumn.SolarSystem: item.Text = researchPoint.Station.SolarSystem.Name; item.ForeColor = researchPoint.Station.SolarSystem.SecurityLevelColor; break; case ResearchColumn.Station: item.Text = outpost != null ? outpost.FullName : researchPoint.Station.Name; break; case ResearchColumn.Quality: break; default: throw new NotImplementedException(); } }