| 647 | } |
| 648 | |
| 649 | void FluxViewerControl::DisplaySectorSummary( |
| 650 | std::shared_ptr<const Sector> sector) |
| 651 | { |
| 652 | std::stringstream s; |
| 653 | |
| 654 | auto title = fmt::format("Sector summary c{}.h{}.s{}", |
| 655 | sector->logicalCylinder, |
| 656 | sector->logicalHead, |
| 657 | sector->logicalSector); |
| 658 | s << title << '\n'; |
| 659 | |
| 660 | std::vector<std::shared_ptr<const Sector>> sectors; |
| 661 | for (auto& trackdata : _flux->trackDatas) |
| 662 | { |
| 663 | if ((trackdata->trackInfo->logicalCylinder == |
| 664 | sector->logicalCylinder) && |
| 665 | (trackdata->trackInfo->logicalHead == sector->logicalHead)) |
| 666 | { |
| 667 | for (auto& sec : trackdata->sectors) |
| 668 | { |
| 669 | if (*sec == *sector) |
| 670 | sectors.push_back(sec); |
| 671 | } |
| 672 | } |
| 673 | } |
| 674 | |
| 675 | s << fmt::format("Number of times seen: {}\n", sectors.size()); |
| 676 | |
| 677 | for (int i = 0; i < sectors.size(); i++) |
| 678 | { |
| 679 | auto& sec = sectors[i]; |
| 680 | s << fmt::format("\nInstance {}:\n\n", i); |
| 681 | dumpSectorMetadata(s, sec); |
| 682 | s << '\n'; |
| 683 | } |
| 684 | |
| 685 | TextViewerWindow::Create(this, title, s.str())->Show(); |
| 686 | } |
| 687 | |
| 688 | void FluxViewerControl::DisplayRawData(std::shared_ptr<const Sector> sector) |
| 689 | { |
nothing calls this directly
no test coverage detected