public void Events_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case TwNotificationProperty.OnStartClassify: case TwNotificationProperty.OnStartMergeSplit: case TwNotificationProperty.OnStartApplyConversionFactor: fixtureSummariesOld = new FixtureSummaries(Analysis.Events); fixtureSummariesOld.Update(); break; case TwNotificationProperty.OnEndMergeSplit: UpdateFixturesSummaryPanels(fixtureSummariesOld, Analysis.FixtureSummaries); CollapseFixturePanels(fixtureSummariesOld); UpdateButtons(); break; case TwNotificationProperty.OnEndClassify: UpdateFixturesSummaryPanels(fixtureSummariesOld, Analysis.FixtureSummaries); CollapseFixturePanels(fixtureSummariesOld); UpdateButtons(); break; case TwNotificationProperty.OnEndSelect: UpdateSelectedCountLabels(); UpdateButtons(); break; case TwNotificationProperty.OnEndApplyConversionFactor: UpdateFixturesSummaryPanels(fixtureSummariesOld, Analysis.FixtureSummaries); UpdateButtons(); break; } }
void UpdateFixtureSummaryPanelTotal(Events events, FixtureSummaries fixtureSummariesOld, FixtureSummaries fixtureSummariesNew) { var fixtureSummaryPanel = FixturePanelTotal.FixtureSummaryPanel; fixtureSummaryPanel.textBlockInstancesCount.Text = events.Count.ToString(); fixtureSummaryPanel.textBlockInstancesCount.ToolTip = "Total Number of Events"; UpdateFixtureSummaryInstanceDeltaTotals(fixtureSummaryPanel.textBlockInstancesDelta, fixtureSummariesOld, fixtureSummariesNew); fixtureSummaryPanel.textBlockInstancesDelta.ToolTip = "Total Increase or Decrease in Number of Events"; fixtureSummaryPanel.textBlockVolume.Text = events.Volume.ToString("0.0"); fixtureSummaryPanel.textBlockVolume.FontWeight = FontWeights.Bold; fixtureSummaryPanel.textBlockVolume.ToolTip = "Total Volume of Events"; double percentInitialVolume = events.InitialVolume / events.Volume; fixtureSummaryPanel.textBlockVolumePercent.Text = (percentInitialVolume * 100).ToString("0.0") + "%"; if (events.CheckVolume()) { fixtureSummaryPanel.textBlockVolumePercent.ToolTip = "Initial Total Percent Volume"; fixtureSummaryPanel.textBlockVolumePercent.Background = fixtureSummaryPanel.textBlockVolume.Background; } else { fixtureSummaryPanel.textBlockVolumePercent.ToolTip = "Warning: Initial Total Percent Volume differs significantly from Current Total Percent Volume"; fixtureSummaryPanel.textBlockVolumePercent.Background = new SolidColorBrush(Colors.Red); } }
public override FixtureClass Classify(Event @event) { LazyInitialize(); if (Exemplars == null || Exemplars.Events == null) { return(FixtureClasses.Unclassified); } FixtureClass fixtureClass; double? minVolume = @event.Decrease(@event.Volume, volumePercent); double? maxVolume = @event.Increase(@event.Volume, volumePercent); double? minPeak = @event.Decrease(@event.Peak, peakPercent); double? maxPeak = @event.Increase(@event.Peak, peakPercent); TimeSpan?minDuration = @event.DecreaseDuration(@event.Duration, durationPercent); TimeSpan?maxDuration = @event.IncreaseDuration(@event.Duration, durationPercent); double? minMode = @event.Decrease(@event.Mode, modePercent); double? maxMode = @event.Increase(@event.Mode, modePercent); var fixtureSummaries = new FixtureSummaries(Exemplars.Events); foreach (Event exemplar in Exemplars.Events) { if (exemplar.IsSimilar(@event.FixtureClass, minVolume, maxVolume, minPeak, maxPeak, minDuration, maxDuration, minMode, maxMode)) { fixtureSummaries[exemplar.FixtureClass].Count++; } } fixtureClass = fixtureSummaries.MaximumFixtureClass(); return(fixtureClass); }
void BuildRowHeader(int row, string label, string value, FixtureSummaries fixtureSummaries) { int column = 0; BuildRowBase(row, ref column, label, value, true); if (fixtureSummaries != null) { IEnumerable <FixtureSummary> sorted = Enumerable.OrderByDescending(Analysis.FixtureSummaries.Values, n => n.Volume); foreach (FixtureSummary fixtureSummary in sorted) { if (fixtureSummary.Volume > 0) { var fixture = new ShortFixtureLabel(fixtureSummary.FixtureClass); fixture.HorizontalImageAlignment = HorizontalAlignment.Right; fixture.HorizontalAlignment = HorizontalAlignment.Right; // fixture.Padding = new Thickness(0, 0, 10, 0); fixture.Padding = new Thickness(0); fixture.Margin = new Thickness(0, 0, 10, 0); Grid.SetRow(fixture, row); Grid.SetColumn(fixture, column++); Grid.Children.Add(fixture); } } } }
public void Initialize() { FixtureSummaries fixtureSummaries = Analysis.FixtureSummaries; foreach (FixtureSummary fixtureSummary in fixtureSummaries.Values) { fixtureSummary.Events.UpdateMedians(); } string keyCode = Analysis.KeyCode; IEnumerable <FixtureSummary> sorted = Enumerable.OrderByDescending(Analysis.FixtureSummaries.Values, n => n.Volume); foreach (FixtureSummary fixtureSummary in sorted) { var fixtureClass = fixtureSummary.FixtureClass; if (fixtureSummary.Events.Count != 0) { var eventsProperties = new EventsProperties(fixtureClass, fixtureSummaries[fixtureClass].Events, fixtureSummaries[fixtureClass].Events.Count, fixtureSummaries[fixtureClass].FirstCycles); eventsProperties.Margin = new Thickness(20, 0, 20, 20); grid.Children.Add(eventsProperties); } } }
void UpdateFixtureSummaryInstanceDeltaTotals(TextBlock textBlock, FixtureSummaries fixtureSummariesOld, FixtureSummaries fixtureSummariesNew) { int countNew = fixtureSummariesNew.CountEvents(); int countOld = fixtureSummariesOld.CountEvents(); int deltaCount = countNew - countOld; if (deltaCount == 0) { textBlock.Text = string.Empty; } else { if (deltaCount > 0) { textBlock.Text = "+" + deltaCount.ToString(); textBlock.Foreground = TwBrushes.GetPlusBrush(); textBlock.FontWeight = FontWeights.Bold; } else { textBlock.Text = deltaCount.ToString(); textBlock.Foreground = TwBrushes.GetMinusBrush(); textBlock.FontWeight = FontWeights.Bold; } } }
void InitializeFixtureSummaries(FixtureSummaries fixtureSummaries) { for (int i = 0; i < FixtureClasses.Items.Count; i++) { FixturePanel fixturePanel = (FixturePanel)grid.Children[i]; FixtureClass fixtureClass = fixturePanel.FixtureClass; } }
void UpdateSelectLabels(FixtureSummaries fixtureSummariesNew) { for (int i = 0; i < FixtureClasses.Items.Count; i++) { FixturePanel fixturePanel = (FixturePanel)grid.Children[i]; UpdateSelectLabels(fixturePanel.FixtureSummaryPanel, fixtureSummariesNew); } UpdateSelectedVolume(fixtureSummariesNew); }
void UpdateFixturesSummaryPanels(FixtureSummaries fixtureSummariesOld, FixtureSummaries fixtureSummariesNew) { for (int i = 0; i < FixtureClasses.Items.Count; i++) { FixturePanel fixturePanel = (FixturePanel)grid.Children[i]; UpdateFixtureSummary(fixturePanel.FixtureSummaryPanel, fixtureSummariesOld, fixtureSummariesNew); } UpdateFixtureSummaryPanelTotal(Analysis.Events, fixtureSummariesOld, fixtureSummariesNew); }
void BuildRowFooter(int row, string label, string value, FixtureSummaries fixtureSummaries) { int column = 0; BuildRowBase(row, ref column, label, value, true); if (fixtureSummaries != null) { BuildRowFixtureSummaries(row, ref column, true, fixtureSummaries, 0, true); } }
void BuildRow(int row, string label, string value, FixtureSummaries fixtureSummaries, int day, DateTime date) { int column = 0; BuildRowBase(row, ref column, label, value, false); if (fixtureSummaries != null) { BuildRowFixtureSummaries(row, ref column, false, fixtureSummaries, day, date, false); } }
void BuildRow(int row, string label, string value, FixtureSummaries fixtureSummaries, int hour) { int column = 0; BuildRowBase(row, ref column, label, value, false); if (fixtureSummaries != null) { BuildRowFixtureSummaries(row, ref column, false, fixtureSummaries, hour, false); } }
protected void UpdatePieChart(FixtureSummaries fixtureSummaries, double radius) { canvas.Children.Clear(); double startAngle = 0; double endAngle; foreach (FixtureClass fixtureClass in FixtureClasses.Items.Values) { canvas.Children.Add(DrawWedge(radius, startAngle, out endAngle, fixtureSummaries[fixtureClass])); startAngle = endAngle; } return; }
void UpdateFixtureSummaryVolumePercent(TextBlock textBlock, FixtureSummaries fixtureSummariesNew, FixtureClass fixtureClass) { double percentVolume = fixtureSummariesNew[fixtureClass].PercentVolume; if (percentVolume == 0) { textBlock.Text = string.Empty; } else { textBlock.Text = (percentVolume * 100).ToString("0.0") + "%"; textBlock.ToolTip = "Percentage of Total Volume Attributed to " + fixtureClass.FriendlyName + " Events"; } }
void UpdateFixtureSummaryVolumeCount(TextBlock textBlock, FixtureSummaries fixtureSummariesNew, FixtureClass fixtureClass) { double volume = fixtureSummariesNew[fixtureClass].Volume; if (volume == 0) { textBlock.Text = string.Empty; } else { textBlock.Text = volume.ToString("0.0"); textBlock.ToolTip = "Volume of " + fixtureClass.FriendlyName + " Events"; } }
void UpdateSelectedVolume(FixtureSummaries fixtureSummariesNew) { FixtureSummaryPanel fixtureSummaryPanel = FixturePanelTotal.FixtureSummaryPanel; if (fixtureSummariesNew.SelectedVolume == 0) { fixtureSummaryPanel.textBlockSelected.Text = string.Empty; } else { fixtureSummaryPanel.textBlockSelected.Text = fixtureSummariesNew.SelectedVolume.ToString("0.0"); } fixtureSummaryPanel.textBlockSelected.ToolTip = "Total Volume of Selected Events"; }
void UpdateFixtureSummarySelectedCountLabels(TextBlock textBlock, FixtureSummaries fixtureSummariesNew, FixtureClass fixtureClass) { int countNew = fixtureSummariesNew[fixtureClass].SelectedCount; if (countNew == 0) { textBlock.Text = string.Empty; } else { textBlock.Text = countNew.ToString(); textBlock.ToolTip = "Number of " + fixtureClass.FriendlyName + " Events Selected"; } }
void UpdateFixtureSummary(FixtureSummaryPanel fixtureSummaryPanel, FixtureSummaries fixtureSummariesOld, FixtureSummaries fixtureSummariesNew) { FixtureClass fixtureClass = fixtureSummaryPanel.FixtureClass; UpdateFixtureSummaryInstanceCount(fixtureSummaryPanel.textBlockInstancesCount, fixtureSummariesNew, fixtureClass); UpdateFixtureSummaryInstanceDelta(fixtureSummaryPanel.textBlockInstancesDelta, fixtureSummariesNew, fixtureSummariesOld, fixtureClass); UpdateFixtureSummaryVolumeCount(fixtureSummaryPanel.textBlockVolume, fixtureSummariesNew, fixtureClass); UpdateFixtureSummaryVolumePercent(fixtureSummaryPanel.textBlockVolumePercent, fixtureSummariesNew, fixtureClass); UpdateFixtureSummarySelectedCountLabels(fixtureSummaryPanel.textBlockSelected, fixtureSummariesNew, fixtureClass); }
void CollapseFixturePanels(FixtureSummaries fixtureSummariesOld) { bool showUnusedFixtures = Properties.Settings.Default.ShowUnusedFixtures; foreach (var item in grid.Children) { var panel = item as FixturePanel; if (panel != null && panel.FixtureClass != null && Analysis != null && Analysis.FixtureSummaries != null) { if (Analysis.FixtureSummaries[panel.FixtureClass].Volume == 0 && (fixtureSummariesOld == null || fixtureSummariesOld[panel.FixtureClass].Volume == 0)) { panel.Visibility = showUnusedFixtures ? Visibility.Visible : Visibility.Collapsed; } else { panel.Visibility = Visibility.Visible; } } } }
void UpdateFixtureSummaryInstanceCount(TextBlock textBlock, FixtureSummaries fixtureSummariesNew, FixtureClass fixtureClass) { int countNew = fixtureSummariesNew[fixtureClass].Count; if (countNew == 0) { textBlock.Text = string.Empty; } else { textBlock.Text = countNew.ToString(); ToolTipService.SetShowDuration(textBlock, 60000); ToolTipService.SetInitialShowDelay(textBlock, 000); if (fixtureClass.CanHaveCycles) { textBlock.Text += WrapInParentheses(fixtureSummariesNew[fixtureClass].FirstCycles.ToString()); } } }
void BuildRowFixtureSummaries(int row, ref int column, bool bold, FixtureSummaries fixtureSummaries, int hour, bool isTotalRow) { TextBlock txt; double volume = 0.0; IEnumerable <FixtureSummary> sorted = Enumerable.OrderByDescending(Analysis.FixtureSummaries.Values, n => n.Volume); foreach (FixtureSummary fixtureSummary in sorted) { if (fixtureSummary.Volume > 0) { if (isTotalRow) { volume = fixtureSummaries[fixtureSummary.FixtureClass].Volume; } else { volume = fixtureSummaries[fixtureSummary.FixtureClass].HourlyVolume[hour]; } txt = new TextBlock(); // txt.Padding = new Thickness(0, 0, 10, 0); txt.Padding = new Thickness(0); txt.Margin = new Thickness(0, 0, 10, 0); txt.Text = volume.ToString("0.0"); txt.Foreground = (volume == 0) ? Brushes.LightGray : Brushes.Black; txt.FontWeight = bold ? FontWeights.Bold : FontWeights.Normal; txt.HorizontalAlignment = HorizontalAlignment.Right; Grid.SetRow(txt, row); Grid.SetColumn(txt, column++); Grid.Children.Add(txt); } } }
public ProjectReportProperties CalculateProjectReportProperties(Events events, List <FixtureClass> fixtureClassesOutdoor) { Events = events; FixtureSummaries = new FixtureSummaries(Events); FixtureSummaries.Update(); List <FixtureClass> fixtureClassesIndoor = new List <FixtureClass>(); foreach (FixtureClass fixtureClass in FixtureClasses.Items.Values) { if (!fixtureClassesOutdoor.Contains(fixtureClass)) { fixtureClassesIndoor.Add(fixtureClass); } } var ProjectReportProperties = new ProjectReportProperties(); ProjectReportProperties.TotalVolume = Events.Volume; ProjectReportProperties.TraceBegins = Events.StartTime; ProjectReportProperties.TraceEnds = Events.EndTime; ProjectReportProperties.TraceLengthDays = Events.EndTime.Date.Subtract(Events.StartTime.Date).Days + 1; ProjectReportProperties.TotalGpd = Events.Volume / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.IndoorTotalGal = CalculateVolume(fixtureClassesIndoor); ProjectReportProperties.OutdoorTotalGal = CalculateVolume(fixtureClassesOutdoor); ProjectReportProperties.BathtubTotalGal = FixtureSummaries[FixtureClasses.Bathtub].Volume; ProjectReportProperties.ClotheswasherTotalGal = FixtureSummaries[FixtureClasses.Clotheswasher].Volume; ProjectReportProperties.CoolerTotalGal = FixtureSummaries[FixtureClasses.Cooler].Volume; ProjectReportProperties.DishwasherTotalGal = FixtureSummaries[FixtureClasses.Dishwasher].Volume; ProjectReportProperties.FaucetTotalGal = FixtureSummaries[FixtureClasses.Faucet].Volume; ProjectReportProperties.LeakTotalGal = FixtureSummaries[FixtureClasses.Leak].Volume; ProjectReportProperties.ShowerTotalGal = FixtureSummaries[FixtureClasses.Shower].Volume; ProjectReportProperties.ToiletTotalGal = FixtureSummaries[FixtureClasses.Toilet].Volume; ProjectReportProperties.TreatmentTotalGal = FixtureSummaries[FixtureClasses.Treatment].Volume; ProjectReportProperties.OtherTotalGal = ProjectReportProperties.IndoorTotalGal - FixtureSummaries[FixtureClasses.Bathtub].Volume - FixtureSummaries[FixtureClasses.Clotheswasher].Volume - FixtureSummaries[FixtureClasses.Cooler].Volume - FixtureSummaries[FixtureClasses.Dishwasher].Volume - FixtureSummaries[FixtureClasses.Faucet].Volume - FixtureSummaries[FixtureClasses.Leak].Volume - FixtureSummaries[FixtureClasses.Shower].Volume - FixtureSummaries[FixtureClasses.Toilet].Volume - FixtureSummaries[FixtureClasses.Treatment].Volume ; ProjectReportProperties.IndoorGpd = ProjectReportProperties.IndoorTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.OutdoorGpd = ProjectReportProperties.OutdoorTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.BathtubGpd = ProjectReportProperties.BathtubTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.ClotheswasherGpd = ProjectReportProperties.ClotheswasherTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.CoolerGpd = ProjectReportProperties.CoolerTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.DishwasherGpd = ProjectReportProperties.DishwasherTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.FaucetGpd = ProjectReportProperties.FaucetTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.LeakGpd = ProjectReportProperties.LeakTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.ShowerGpd = ProjectReportProperties.ShowerTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.ToiletGpd = ProjectReportProperties.ToiletTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.TreatmentGpd = ProjectReportProperties.TreatmentTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.OtherGpd = ProjectReportProperties.OtherTotalGal / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.BathtubEvents = FixtureSummaries[FixtureClasses.Bathtub].Count; ProjectReportProperties.ClotheswasherEvents = FixtureSummaries[FixtureClasses.Clotheswasher].FirstCycles; ProjectReportProperties.CoolerEvents = FixtureSummaries[FixtureClasses.Cooler].Count; ProjectReportProperties.DishwasherEvents = FixtureSummaries[FixtureClasses.Dishwasher].FirstCycles; ProjectReportProperties.FaucetEvents = FixtureSummaries[FixtureClasses.Faucet].Count; ProjectReportProperties.LeakEvents = FixtureSummaries[FixtureClasses.Leak].Count; ProjectReportProperties.ShowerEvents = FixtureSummaries[FixtureClasses.Shower].Count; ProjectReportProperties.ToiletEvents = FixtureSummaries[FixtureClasses.Toilet].Count; ProjectReportProperties.TreatmentEvents = FixtureSummaries[FixtureClasses.Treatment].Count; ProjectReportProperties.OtherEvents = CalculateEvents(fixtureClassesIndoor) - FixtureSummaries[FixtureClasses.Bathtub].Count - FixtureSummaries[FixtureClasses.Clotheswasher].Count - FixtureSummaries[FixtureClasses.Cooler].Count - FixtureSummaries[FixtureClasses.Dishwasher].Count - FixtureSummaries[FixtureClasses.Faucet].Count - FixtureSummaries[FixtureClasses.Leak].Count - FixtureSummaries[FixtureClasses.Shower].Count - FixtureSummaries[FixtureClasses.Toilet].Count - FixtureSummaries[FixtureClasses.Treatment].Count ; ProjectReportProperties.AverageClotheswasherLoadGal = ProjectReportProperties.ClotheswasherTotalGal / ProjectReportProperties.ClotheswasherEvents; ProjectReportProperties.ClotheswasherLoadsPerDay = ((double)ProjectReportProperties.ClotheswasherEvents) / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.TotalShowerMinutes = CalculateTotalMinutes(FixtureClasses.Shower); ProjectReportProperties.AverageShowerSeconds = (ProjectReportProperties.TotalShowerMinutes / ProjectReportProperties.ShowerEvents) * 60; ProjectReportProperties.TotalShowerGal = ProjectReportProperties.ShowerTotalGal; ProjectReportProperties.AverageShowerGal = ProjectReportProperties.ShowerTotalGal / ProjectReportProperties.ShowerEvents; ProjectReportProperties.AverageShowerModeFlowGpm = CalculateMeanMode(FixtureClasses.Shower); ProjectReportProperties.ShowersPerDay = ((double)FixtureSummaries[FixtureClasses.Shower].Count) / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.ShowerMinutesPerDay = ProjectReportProperties.TotalShowerMinutes / ProjectReportProperties.TraceLengthDays; ProjectReportProperties.AverageToiletFlushVolume = ProjectReportProperties.ToiletTotalGal / ProjectReportProperties.ToiletEvents; ProjectReportProperties.ToiletFlushStDev = CalculateVolumeStandardDeviation(FixtureClasses.Toilet); ProjectReportProperties.NumberOfToiletFlushesLessThan2Point2Gal = CalculateToiletEventsLessThan(2.2);; ProjectReportProperties.NumberOfToiletFlushesGreaterThan2Point2Gal = ProjectReportProperties.ToiletEvents - ProjectReportProperties.NumberOfToiletFlushesLessThan2Point2Gal; ProjectReportProperties.FlushesPerDay = ((double)ProjectReportProperties.ToiletEvents) / ProjectReportProperties.TraceLengthDays; return(ProjectReportProperties); }
void UpdateFixtureSummaryInstanceDelta(TextBlock textBlock, FixtureSummaries fixtureSummariesNew, FixtureSummaries fixtureSummariesOld, FixtureClass fixtureClass) { int countNew = fixtureSummariesNew[fixtureClass].Count; int countOld = fixtureSummariesOld[fixtureClass].Count; int deltaCount = countNew - countOld; int countFirstCyclesNew = fixtureSummariesNew[fixtureClass].FirstCycles; int countFirstCyclesOld = fixtureSummariesOld[fixtureClass].FirstCycles; int deltaFirstCyclesCount = countFirstCyclesNew - countFirstCyclesOld; textBlock.Text = string.Empty; textBlock.ToolTip = string.Empty; if (deltaCount == 0 && deltaFirstCyclesCount == 0) { return; } if (deltaCount != 0) { textBlock.ToolTip += "This action "; if (deltaCount > 0) { textBlock.Text = "+" + deltaCount.ToString(); textBlock.Foreground = TwBrushes.GetPlusBrush(); textBlock.FontWeight = FontWeights.Bold; textBlock.ToolTip += "increased "; } else { textBlock.Text = deltaCount.ToString(); textBlock.Foreground = TwBrushes.GetMinusBrush(); textBlock.FontWeight = FontWeights.Bold; textBlock.ToolTip += "decreased "; } textBlock.ToolTip += "the number of " + fixtureClass.FriendlyName + " events by " + Math.Abs(deltaCount) + "."; if (deltaFirstCyclesCount != 0) { textBlock.ToolTip += "\r\n"; } } if (deltaFirstCyclesCount != 0) { textBlock.ToolTip += "This action "; if (deltaFirstCyclesCount > 0) { textBlock.Text += WrapInParentheses("+" + deltaFirstCyclesCount.ToString()); textBlock.Foreground = TwBrushes.GetPlusBrush(); textBlock.FontWeight = FontWeights.Bold; textBlock.ToolTip += "increased "; } else if (deltaFirstCyclesCount < 0) { textBlock.Text += WrapInParentheses(deltaFirstCyclesCount.ToString()); textBlock.Foreground = TwBrushes.GetMinusBrush(); textBlock.FontWeight = FontWeights.Bold; textBlock.ToolTip += "decreased "; } textBlock.ToolTip += "the number of " + fixtureClass.FriendlyName + " 1st cycles by " + Math.Abs(deltaFirstCyclesCount) + "."; } }
void UpdateSelectLabels(FixtureSummaryPanel fixtureSummaryPanel, FixtureSummaries fixtureSummariesNew) { UpdateFixtureSummarySelectedCountLabels(fixtureSummaryPanel.textBlockSelected, fixtureSummariesNew, fixtureSummaryPanel.FixtureClass); }