public Display(Stats owner, TaskMeter meter) { this.owner = owner; this.meter = meter; task = meter.Name; KnownColor c = (KnownColor)((int)meter.VisualColor); brush = new SolidBrush(Color.FromKnownColor(c)); }
public void MeterCreation() { if (!TaskMeter.MeasurementIsUnderway()) { // create taskmeters during warmup! meters[metercount % 10] = new TaskMeter("meter number " + metercount); metercount++; } else { for (int j = 0; j < 10; j++) { meters[j].Measure(() => { for (int i = 1; i < 1000; i++) { ; } }); } } }
/// <summary> /// Itentifies that a task meter should measure speadup compared to a test meter. /// </summary> public static void MeasureSpeedup(TaskMeter before, TaskMeter after) { after.ReferenceMeter = before; }
public void RefreshData() { // set defaults this.maxticks = 1 + (long)(Metering.end * 1.2); // leave some extra room on the right this.scale = Metering.scale; leftticks = 0; widthticks = maxticks; // add missing rows / delete superfluous rows { Dictionary <TaskMeter, Display> displaymap = new Dictionary <TaskMeter, Display>(); Dictionary <DataGridViewRow, bool> toberemoved = new Dictionary <DataGridViewRow, bool>(); foreach (DataGridViewRow r in dataGridView1.Rows) { Display display = r.Cells[display_col].Value as Display; TaskMeter meter = display.meter; displaymap.Add(meter, display); if (meter.Intervals == null) { toberemoved.Add(r, true); } } foreach (DataGridViewRow r in toberemoved.Keys) { dataGridView1.Rows.Remove(r); } List <TaskMeter> meters = TaskMeter._Tasks; lock (meters) { foreach (TaskMeter m in meters) { if (!displaymap.ContainsKey(m)) { if (m.Intervals != null) { Display d = new Display(this, m); dataGridView1.Rows.Add(d.Format()); displaymap.Add(m, d); } } } } dataGridView1.Sort(this); // add references foreach (KeyValuePair <TaskMeter, Display> kvp in displaymap) { if (kvp.Key.ReferenceMeter != null && displaymap.ContainsKey(kvp.Key.ReferenceMeter)) { kvp.Value.refdisplay = displaymap[kvp.Key.ReferenceMeter]; } else { kvp.Value.refdisplay = null; } } } foreach (DataGridViewRow r in dataGridView1.Rows) { (r.Cells[display_col].Value as Display).RefreshData(); } UpdateScrollBar(); UpdateTextBox(); UpdateZoom(); UpdateView(); }
private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { TaskMeter meter = (e.Row.Cells[display_col].Value as Display).meter; meter.Enabled = false; }