public ViewForm() { _loaded = false; _currentSelection = null; InitializeComponent(); saveImageDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); saveImageDialog.Filter = "PNG|*.png|All Files|*.*"; }
private static DateTime Increment(DateTime time, FrameElement parent) { DateTime tmp; switch (parent.Level) { case FrameNodeLevel.Root: tmp = new DateTime(time.Year + 1, 1, 1); break; case FrameNodeLevel.Year: tmp = new DateTime(time.Year, time.Month, 1).AddMonths(1); break; case FrameNodeLevel.Month: tmp = new DateTime(time.Year, time.Month, time.Day).AddDays(1); break; case FrameNodeLevel.Day: tmp = new DateTime(time.Year, time.Month, time.Day, time.Hour, 0, 0).AddHours(1); break; case FrameNodeLevel.Hour: tmp = new DateTime(time.Year, time.Month, time.Day, time.Hour, time.Minute - (time.Minute % 5), 0).AddMinutes(5); break; case FrameNodeLevel.PartHour: tmp = new DateTime(time.Year, time.Month, time.Day, time.Hour, time.Minute, 0).AddMinutes(1); break; case FrameNodeLevel.Minute: tmp = new DateTime(time.Year, time.Month, time.Day, time.Hour, time.Minute, time.Second - (time.Second % 6)).AddSeconds(10); break; default: throw new ArgumentOutOfRangeException("parentLevel invalid: Seconds cannot be subdivided."); } return(tmp > parent.EndTime ? parent.EndTime : tmp); }
private void GraphViewport_SelectionChanged(FrameElement newSelection) { _currentSelection = newSelection; Invalidate(); }
/// <summary> /// Fills the parent element, and generates the canvas data /// </summary> /// <param name="time1">The time to start the canvas</param> /// <param name="time2">The time to end the canvas</param> /// <param name="parentLevel">the parent nodes level</param> /// <returns>The CanvasData for the specified range and resolution</returns> public void FillFrameElement(FrameElement frame) { //Debug.Assert(frame.Level != FrameNodeLevel.Second); //seconds cannot be subdivided if (frame.Level == FrameNodeLevel.Second) { return; } long packetIndex1, packetIndex2; long startOffset, endOffset; //first time record packetIndex1 = TimeFile.GetPacketIndex(frame.StartTime); //first index record startOffset = IndexFile.GetDataIndex(packetIndex1); //second element DateTime curr = frame.StartTime; DateTime next = Increment(curr, frame); // Increment(frame.StartTime, frame.Level); frame.Children.Clear(); while (curr < frame.EndTime) { packetIndex2 = TimeFile.GetPacketIndex(next); endOffset = IndexFile.GetDataIndex(packetIndex2); frame.CreateChildElement(curr, next.Subtract(curr), packetIndex2 - packetIndex1, endOffset - startOffset); curr = next; next = Increment(curr, frame); packetIndex1 = packetIndex2; startOffset = endOffset; } //if (FilterFiles.Count < 1) return; //List<FilterData> filters = new List<FilterData>(); ////use collected filter byte segments to generate packet counts per filter //foreach (var filter in FilterFiles) //{ // filters.Add(new FilterData(FilterFiles.IndexOf(filter), filter.FillBitResultsList(filterIndeces))); //} //if (CountFilters != null) CountFilters(filters); ////filters now contains the correct coutn information //for (int k = 0; k < filters.Count; k++) //{ // for (int j = 0; j < filters[k].Segments.Count; j++) // { // //copy the jth segment count in filter k to the kth filter index in frame child j // frame.Children[j].FilterCounts.Add(filters[k].Counts[j]); // } //} }
public FrameNodeSecond(DateTime time, FileManager fileManager, FrameElement minuteNode) : base(time, new TimeSpan(0, 0, 0, 1), fileManager, minuteNode) { }
public FrameNodeMinute(DateTime time, TimeSpan duration, FileManager fileManager, FrameElement hourNode) : base(time, duration, fileManager, hourNode) { }
public FrameNodeHour(DateTime time, TimeSpan duration, FileManager fileManager, FrameElement dayNode) : base(time, duration, fileManager, dayNode) { }
public FrameNodeDay(DateTime time, TimeSpan duration, FileManager fileManager, FrameElement monthNode) : base(time, duration, fileManager, monthNode) { }
public FrameNodeMonth(DateTime time, TimeSpan duration, FileManager fileManager, FrameElement yearNode) : base(time, duration, fileManager, yearNode) { }
public FrameNodeYear(DateTime time, TimeSpan duration, FileManager fileManager, FrameElement root) : base(time, duration, fileManager, root) { }