public SorterVmImpl ( ISorterEval sorter, List <Brush> lineBrushes, int width ) { _sorter = sorter; foreach (var keyPair in Sorter.KeyPairs) { SwitchVms.Add ( new SwitchGraphicVm ( keyPair: keyPair, keyCount: sorter.KeyCount, lineBrushes: lineBrushes, width: width ) { SwitchBrush = Brushes.Red } ); } }
void SetUnstagedSwitchVms() { for (var i = 0; i < SorterEval.KeyPairCount; i++) { if ((SorterEval.SwitchEvals[i].UseCount == 0) && !ShowUnusedSwitches) { continue; } var keyPair = SorterEval.KeyPair(i); var switchBrushIndex = Math.Ceiling( (SorterEval.SwitchEvals[i].UseCount * SwitchBrushes.Count) / SorterEval.SwitchableGroupCount ); SwitchVms.Add(new SwitchGraphicVm(keyPair, SorterEval.KeyCount, LineBrushes, Width) { SwitchBrush = SwitchBrushes[(int)switchBrushIndex] }); } }
public SorterStageVm ( ISorterStage <ISwitchEval> sorterStage, List <Brush> lineBrushes, List <Brush> switchBrushes, int width, bool showUnusedSwitches, int switchableGroupCount ) { _sorterStage = sorterStage; _lineBrushes = lineBrushes; _switchBrushes = switchBrushes; _showUnusedSwitches = showUnusedSwitches; _width = width; _switchableGroupCount = switchableGroupCount; for (var i = 0; i < SorterStage.KeyPairCount; i++) { var keyPair = SorterStage.KeyPair(i); if ((keyPair.UseCount < 1) && !ShowUnusedSwitches) { continue; } var switchBrushIndex = Math.Ceiling( (keyPair.UseCount * (SwitchBrushes.Count - 1)) / SwitchableGroupCount ); SwitchVms.Add(new SwitchGraphicVm(keyPair, SorterStage.KeyCount, LineBrushes, Width) { SwitchBrush = SwitchBrushes[(int)switchBrushIndex] }); } }
public UnstagedSorterVmImpl ( ISorterEval sorterEval, List <Brush> lineBrushes, List <Brush> switchBrushes, int width, int height, bool showUnusedSwitches ) { _sorterEval = sorterEval; _lineBrushes = lineBrushes; _switchBrushes = switchBrushes; _showUnusedSwitches = showUnusedSwitches; _height = height; _width = width; for (var i = 0; i < SorterEval.KeyPairCount; i++) { if ((SorterEval.SwitchEvals[i].UseCount < 1) && !ShowUnusedSwitches) { continue; } var keyPair = SorterEval.KeyPair(i); var switchBrushIndex = Math.Ceiling( (SorterEval.SwitchEvals[i].UseCount * (SwitchBrushes.Count - 1)) / SorterEval.SwitchableGroupCount ); SwitchVms.Add(new SwitchGraphicVm(keyPair, SorterEval.KeyCount, LineBrushes, Width) { SwitchBrush = SwitchBrushes[(int)switchBrushIndex] }); } }
void SetStagedSwitchVms() { var stagedKeyPairs = new List <ISwitchEval>(); if (ShowUnusedSwitches) { stagedKeyPairs = SorterEval.SwitchEvals .ToList() .ToSorterStages(SorterEval.KeyPairCount) .SelectMany(st => st.KeyPairs) .ToList(); } else { stagedKeyPairs = SorterEval.SwitchEvals .Where(ev => ev.UseCount > 0) .ToList() .ToSorterStages(SorterEval.KeyPairCount) .SelectMany(st => st.KeyPairs) .ToList(); } foreach (var stagedKeyPair in stagedKeyPairs) { var switchBrushIndex = Math.Ceiling( (stagedKeyPair.UseCount * SwitchBrushes.Count) / SorterEval.SwitchableGroupCount ); SwitchVms.Add(new SwitchGraphicVm(stagedKeyPair, SorterEval.KeyCount, LineBrushes, Width) { SwitchBrush = SwitchBrushes[(int)switchBrushIndex] }); } }