| 674 | } |
| 675 | |
| 676 | void View::signals_changed(const Trace* eventTrace) |
| 677 | { |
| 678 | double actualMargin = SignalMargin; |
| 679 | int total_rows = 0; |
| 680 | int label_size = 0; |
| 681 | uint8_t max_height = MaxHeightUnit; |
| 682 | std::vector<Trace*> time_traces; |
| 683 | std::vector<Trace*> fft_traces; |
| 684 | std::vector<Trace*> traces; |
| 685 | std::vector<Trace*> logic_traces; |
| 686 | std::vector<Trace*> decoder_traces; |
| 687 | |
| 688 | (void)eventTrace; |
| 689 | |
| 690 | get_traces(ALL_VIEW, traces); |
| 691 | |
| 692 | for(auto t : traces) { |
| 693 | if (_trace_view_map[t->get_type()] == TIME_VIEW){ |
| 694 | time_traces.push_back(t); |
| 695 | } |
| 696 | else if (_trace_view_map[t->get_type()] == FFT_VIEW){ |
| 697 | if (t->enabled()) |
| 698 | fft_traces.push_back(t); |
| 699 | } |
| 700 | |
| 701 | if (t->get_type() == SR_CHANNEL_LOGIC) |
| 702 | logic_traces.push_back(t); |
| 703 | else if (t->get_type() == SR_CHANNEL_DECODER) |
| 704 | decoder_traces.push_back(t); |
| 705 | } |
| 706 | |
| 707 | if (!fft_traces.empty()) { |
| 708 | if (!_fft_viewport->isVisible()) { |
| 709 | _fft_viewport->setVisible(true); |
| 710 | _fft_viewport->clear_measure(); |
| 711 | _viewport_list.push_back(_fft_viewport); |
| 712 | _vsplitter->refresh(); |
| 713 | } |
| 714 | |
| 715 | for(auto t : fft_traces) { |
| 716 | t->set_view(this); |
| 717 | t->set_viewport(_fft_viewport); |
| 718 | t->set_totalHeight(_fft_viewport->height()); |
| 719 | t->set_v_offset(_fft_viewport->geometry().bottom()); |
| 720 | } |
| 721 | } |
| 722 | else { |
| 723 | _fft_viewport->setVisible(false); |
| 724 | _vsplitter->refresh(); |
| 725 | |
| 726 | // Find the _fft_viewport in the stack |
| 727 | std::list< QWidget *>::iterator iter = _viewport_list.begin(); |
| 728 | |
| 729 | for(unsigned int i = 0; i < _viewport_list.size(); i++, iter++){ |
| 730 | if ((*iter) == _fft_viewport) |
| 731 | break; |
| 732 | } |
| 733 |
no test coverage detected