46 QVector<double> *time_vals;
47 QVector<double> *jitter_vals;
48 QVector<double> *diff_vals;
49 QVector<double> *delta_vals;
50 QTreeWidget *tree_widget;
51 QLabel *statistics_label;
53 QCPGraph *jitter_graph;
55 QCPGraph *delta_graph;
56 QHBoxLayout *graphHorizontalLayout;
57 QCheckBox *stream_checkbox;
58 QCheckBox *jitter_checkbox;
59 QCheckBox *diff_checkbox;
60 QCheckBox *delta_checkbox;
93 void addRtpStreams(QVector<rtpstream_id_t *> stream_ids);
94 void removeRtpStreams(QVector<rtpstream_id_t *> stream_ids);
97 void goToPacket(
int packet_num);
98 void rtpPlayerDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
99 void rtpPlayerDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
100 void rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
101 void updateFilter(QString filter,
bool force =
false);
104 void rtpPlayerReplace();
106 void rtpPlayerRemove();
109 virtual void updateWidgets();
116 void on_actionGoToPacket_triggered();
117 void on_actionNextProblem_triggered();
118 void on_actionSaveOneCsv_triggered();
119 void on_actionSaveAllCsv_triggered();
120 void on_actionSaveGraph_triggered();
121 void on_buttonBox_helpRequested();
122 void showStreamMenu(QPoint pos);
123 void showGraphMenu(
const QPoint &pos);
124 void graphClicked(QMouseEvent *event);
125 void closeTab(
int index);
126 void rowCheckboxChanged(
int checked);
127 void singleCheckboxChanged(
int checked);
128 void on_actionPrepareFilterOne_triggered();
129 void on_actionPrepareFilterAll_triggered();
133 static std::mutex init_mutex_;
134 static std::mutex run_mutex_;
136 Ui::RtpAnalysisDialog *ui;
137 enum StreamDirection { dir_all_, dir_one_ };
140 QVector<tab_info_t *> tabs_;
141 QMultiHash<unsigned, tab_info_t *> tab_hash_;
143 QToolButton *player_button_;
146 QList<QCPGraph *>graphs_;
150 QMenu stream_ctx_menu_;
151 QMenu graph_ctx_menu_;
154 static void tapReset(
void *tapinfo_ptr);
156 static void tapDraw(
void *tapinfo_ptr);
158 void resetStatistics();
160 void updateStatistics();
163 void saveCsvHeader(QFile *save_file, QTreeWidget *tree);
164 void saveCsvData(QFile *save_file, QTreeWidget *tree);
165 void saveCsv(StreamDirection direction);
167 bool eventFilter(QObject*, QEvent* event);
169 QVector<rtpstream_id_t *>getSelectedRtpIds();
173 void clearLayout(QLayout *layout);
174 void addRtpStreamsPrivate(QVector<rtpstream_id_t *> stream_ids);
static QToolButton * addAnalyzeButton(QDialogButtonBox *button_box, RtpBaseDialog *dialog)
Common routine to add a "Analyze" button to a QDialogButtonBox.
Definition rtp_analysis_dialog.cpp:1141