public void StepInto(ProjectBuild projectBuild) { if (projectBuild == null) { throw new ArgumentNullException(nameof(projectBuild)); } this.stack.Clear(); ProjectBuild[] path = this.rootProjectBuild.GetPathTo(projectBuild) ?? new[] { this.rootProjectBuild, projectBuild }; foreach (ProjectBuild p in path) { this.stack.Push(p); } this.UpdateBreadcrumb(); this.UpdateBuildTimelineListBox(projectBuild); BuildTimeline firstBt = this.BuildTimelineListBox.Items.OfType <BuildTimeline>().FirstOrDefault(); if (firstBt != null) { this.BuildTimelineListBox.SelectedItem = firstBt; this.BuildTimelineListBox.UpdateLayout(); ListBoxItem listBoxItem = (ListBoxItem)this.BuildTimelineListBox.ItemContainerGenerator.ContainerFromItem(firstBt); listBoxItem.Focus(); } }
private void StepOut() { if (this.stack.Count <= 1) { return; } BuildBase previousBuild = this.stack.Pop(); this.UpdateBreadcrumb(); this.UpdateBuildTimelineListBox(this.stack.Peek()); BuildTimeline previousBt = this.BuildTimelineListBox.Items.OfType <BuildTimeline>().SingleOrDefault(x => x.Build == previousBuild); if (previousBt == null) { previousBt = this.BuildTimelineListBox.Items.OfType <BuildTimeline>().FirstOrDefault(); } this.BuildTimelineListBox.SelectedItem = previousBt; this.BuildTimelineListBox.UpdateLayout(); ListBoxItem listBoxItem = (ListBoxItem)this.BuildTimelineListBox.ItemContainerGenerator.ContainerFromItem(previousBt); listBoxItem.Focus(); }
private void StepInto() { BuildTimeline bt = this.BuildTimelineListBox.SelectedItem as BuildTimeline; if (bt == null || bt.Build.Kind != BuildKind.Project) { return; } ProjectBuild build = (ProjectBuild)bt.Build; this.stack.Push(build); this.UpdateBreadcrumb(); this.UpdateBuildTimelineListBox(build); BuildTimeline firstBt = this.BuildTimelineListBox.Items.OfType <BuildTimeline>().FirstOrDefault(); if (firstBt != null) { this.BuildTimelineListBox.SelectedItem = firstBt; this.BuildTimelineListBox.UpdateLayout(); ListBoxItem listBoxItem = (ListBoxItem)this.BuildTimelineListBox.ItemContainerGenerator.ContainerFromItem(firstBt); listBoxItem.Focus(); } }
public void SetRootProjectBuild(ProjectBuild rootProjectBuild) { if (rootProjectBuild == null) { throw new ArgumentNullException(nameof(rootProjectBuild)); } this.rootProjectBuild = rootProjectBuild; this.stack.Clear(); this.stack.Push(this.rootProjectBuild); this.UpdateBreadcrumb(); this.UpdateBuildTimelineListBox(this.rootProjectBuild); BuildTimeline firstBt = this.BuildTimelineListBox.Items.OfType <BuildTimeline>().FirstOrDefault(); if (firstBt != null) { this.BuildTimelineListBox.SelectedItem = firstBt; this.BuildTimelineListBox.UpdateLayout(); ListBoxItem listBoxItem = (ListBoxItem)this.BuildTimelineListBox.ItemContainerGenerator.ContainerFromItem(firstBt); listBoxItem?.Focus(); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { BuildTimeline bt = (BuildTimeline)value; return(PathGeometryHelper.CreateRectangle(bt.ParentStartedAt, bt.ParentCompletedAt, bt.StartedAt, bt.CompletedAt)); }