Wireshark-commits: [Wireshark-commits] master a5cb72f: Add a Qt I/O Graph dialog.

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Mon, 7 Apr 2014 20:56:44 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=a5cb72fe9eadfaf8cb0aefccb106a7eaad9266c9
Submitter: Gerald Combs (gerald@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

a5cb72f by Gerald Combs (gerald@xxxxxxxxxxxxx):

    Add a Qt I/O Graph dialog.
    
    For each graph you can set:
    - Its visibility
    - A name
    - A display filter
    - Color, from a fixed list
    - Plot style: Line, Impulse, Bar, Stacked Bar, Dot, Square, Diamond
    - Basic Y Axes (packets/s, bytes/s, bits/s)
    - Computed Y Axes (SUM, MIN, AVG, MAX)
    - Smoothing
    
    You can pan and zoom using the mouse and keyboard. Clicking on a graph
    selects the last packet for that interval. If all graphs have the same Y
    axis a single label is shown, otherwise a legend is shown.
    
    The time scale (X axis) can be toggled between relative seconds and the
    time of day.
    
    Graphs can be saved as PDF, PNG, BMP, and JPEG. Settings are "sticky"
    via the io_graphs UAT.
    
    To do:
    - Minimize graph drawing delays.
    - Figure out why smoothing differs from GTK+
    - Everything else at the top of io_graph_dialog.cpp
    - Fix empty resets.
    
    A fair amount of code was copied from TCPStreamDialog. We might want to
    subclass QCustomPlot and place the shared code there.
    
    Move common syntax checking to SyntaxLineEdit.
    
    Move some common code from ui/gtk/io_stat.c to ui/io_graph_item.[ch] and
    use it in both GTK+ and Qt.
    
    Make the io_graph_item_t array allocation in io_stat.c static. The
    behavior should be identical and this gives us additional compile-time
    checks.
    
    Change-Id: I9a3d544469b7048f0761fdbf7bcf20f44ae76577
    Reviewed-on: https://code.wireshark.org/review/435
    Reviewed-by: Gerald Combs <gerald@xxxxxxxxxxxxx>
    Tested-by: Gerald Combs <gerald@xxxxxxxxxxxxx>
    

Actions performed:

    from  cc3c05e   Switch to Lua 5.2.3 built with MSVC2010 instead of the one built with MingW gcc 4.3
    adds  a5cb72f   Add a Qt I/O Graph dialog.


Summary of changes:
 epan/emem.h                                        |    8 +
 epan/proto.h                                       |    2 +-
 file.c                                             |    5 +
 ui/CMakeLists.txt                                  |    1 +
 ui/Makefile.common                                 |    2 +
 ui/gtk/io_stat.c                                   |  363 +---
 ui/io_graph_item.c                                 |  152 ++
 ui/io_graph_item.h                                 |  338 +++
 ui/qt/CMakeLists.txt                               |    3 +
 ui/qt/Makefile.am                                  |    2 +
 ui/qt/Makefile.common                              |    4 +
 ui/qt/QtShark.pro                                  |    3 +
 ui/qt/column_preferences_frame.cpp                 |   20 +-
 ui/qt/column_preferences_frame.h                   |    1 -
 ui/qt/display_filter_edit.cpp                      |   51 +-
 ui/qt/display_filter_edit.h                        |    1 -
 ui/qt/filter_expressions_preferences_frame.cpp     |   21 +-
 ui/qt/filter_expressions_preferences_frame.h       |    1 -
 ui/qt/io_graph_dialog.cpp                          | 2156 ++++++++++++++++++++
 ui/qt/io_graph_dialog.h                            |  253 +++
 ui/qt/{tcp_stream_dialog.ui => io_graph_dialog.ui} |  336 ++-
 ui/qt/main_window.cpp                              |    1 +
 ui/qt/main_window.h                                |    1 +
 ui/qt/main_window.ui                               |    9 +
 ui/qt/main_window_slots.cpp                        |   10 +
 ui/qt/search_frame.cpp                             |   20 +-
 ui/qt/sequence_dialog.cpp                          |   12 +-
 ui/qt/syntax_line_edit.cpp                         |   51 +-
 ui/qt/syntax_line_edit.h                           |   11 +-
 ui/qt/tcp_stream_dialog.cpp                        |   17 +-
 30 files changed, 3251 insertions(+), 604 deletions(-)
 create mode 100644 ui/io_graph_item.c
 create mode 100644 ui/io_graph_item.h
 create mode 100644 ui/qt/io_graph_dialog.cpp
 create mode 100644 ui/qt/io_graph_dialog.h
 copy ui/qt/{tcp_stream_dialog.ui => io_graph_dialog.ui} (63%)