Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Public Slots | Signals | Public Member Functions | Protected Slots | Protected Member Functions | List of all members
PlotDialog Class Reference

Dialog for configuring and displaying packet field value plots. More...

#include <plot_dialog.h>

Inheritance diagram for PlotDialog:
WiresharkDialog GeometryStateDialog StratosharkPlotDialog

Public Slots

void scheduleReplot ()
 Request a lightweight QCustomPlot replot of existing data.
 
void scheduleRecalc ()
 Request a medium-weight value recalculation then replot.
 
void scheduleRetap ()
 Request a full retap of the capture file.
 

Signals

void goToPacket (int packet, int hf_id)
 Emitted when the packet list should navigate to a specific packet.
 
void updateMarker (const int size, const double xCoord, const int)
 Emitted to update the size and position of a measurement marker.
 
void setPosMarker (const double xCoord, const int selectMPos, const int posMPos)
 Emitted to set the position of a position or difference marker.
 

Public Member Functions

 PlotDialog (QWidget &parent, CaptureFile &cf)
 Construct a PlotDialog.
 
virtual ~PlotDialog ()
 Destroy the dialog and its associated resources.
 
void initialize (QWidget &parent, uat_field_t *plot_fields, bool show_default=true)
 Finish initialising the dialog after construction.
 
void addPlot (bool checked, const QString &dfilter, const QString &yfield)
 Add a plot with default name, style, colour, and Y-axis factor.
 
- Public Member Functions inherited from WiresharkDialog
 WiresharkDialog (QWidget &parent, CaptureFile &capture_file)
 Constructs a new WiresharkDialog object.
 
bool fileClosed () const
 Checks if the capture file has been closed.
 
- Public Member Functions inherited from GeometryStateDialog
 GeometryStateDialog (QWidget *parent, Qt::WindowFlags f=Qt::Window)
 Constructs a new GeometryStateDialog with the specified parent and window flags.
 
 ~GeometryStateDialog ()
 Save the geometry and splitter state and then destroy the GeometryStateDialog.
 
void setWindowModality (Qt::WindowModality windowModality)
 Sets the window modality for the dialog. On non-macOS platforms, this also sets the parent to ensure modal dialogs are always on top of their parent.
 

Protected Slots

void modelDataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles)
 Respond to data changes in the UAT model.
 
void modelRowsReset ()
 Respond to a full UAT model reset.
 
void modelRowsInserted (const QModelIndex &parent, int first, int last)
 Respond to new rows being inserted into the UAT model.
 
void modelRowsRemoved (const QModelIndex &parent, int first, int last)
 Respond to rows being removed from the UAT model.
 
void modelRowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 Respond to rows being reordered within the UAT model.
 
- Protected Slots inherited from WiresharkDialog
void captureEvent (CaptureEvent e)
 Handles capture events.
 

Protected Member Functions

void captureFileClosing () override
 Handle capture file closing.
 
void keyPressEvent (QKeyEvent *event) override
 Handle key press events.
 
void reject () override
 Handle dialog rejection (Close button / Escape).
 
virtual QString getFilteredName () const
 Return the display-filter-qualified window/tab title suffix.
 
virtual QString getYAxisName () const
 Return the default Y-axis label for this dialog type.
 
virtual QString getHintText (unsigned num_items) const
 Return the status-bar hint text for normal operation.
 
virtual void addDefaultPlot (bool enabled, bool filtered)
 Add one of the two (or four) default plots.
 
void addPlot (bool checked, const QString &name, const QString &dfilter, QColor color_idx, Graph::PlotStyles style, const QString &yfield, double y_axis_factor=Graph::default_y_axis_factor_)
 Add a fully-specified plot to the dialog.
 
- Protected Member Functions inherited from WiresharkDialog
virtual void accept ()
 Accepts the dialog.
 
virtual void beginRetapPackets ()
 Mark the start of a code block that retaps packets. If the user closes the dialog while tapping, the dialog will not be destroyed until endRetapPackets is called.
 
virtual void endRetapPackets ()
 Mark the end of a code block that retaps packets. If the user has closed the dialog it will be destroyed at this point.
 
void setWindowSubtitle (const QString &subtitle)
 Set the window subtitle, e.g. "Foo Timeouts". The subtitle and file name will be added to the dialog window title.
 
const QString & windowSubtitle ()
 Retrieves the current window subtitle.
 
virtual void updateWidgets ()
 Updates the state and contents of the dialog's widgets.
 
bool registerTapListener (const char *tap_name, void *tap_data, const char *filter, unsigned flags, tap_reset_cb tap_reset, tap_packet_cb tap_packet, tap_draw_cb tap_draw)
 Convenience wrapper for register_tap_listener. Tap listeners registered via this function are automatically removed during destruction. They can also be explicitly removed using remove_tap_listener or removeTapListeners.
 
virtual void removeTapListeners ()
 Remove all tap listeners registered via registerTapListener.
 
bool dialogClosed () const
 Check to see if the user has closed (and not minimized) the dialog.
 
int retapDepth () const
 Check to see if we're currently retapping. If this is positive, tapping will fail in process_specified_records.
 
virtual void captureFileClosed ()
 Called when the capture file was closed. This can be used to enable or disable widgets according to the state of file_closed_. updateWidgets() is called at the end.
 
- Protected Member Functions inherited from GeometryStateDialog
void loadGeometry (int width=0, int height=0, const QString &dialog_name=QString())
 Loads the geometry and splitter state for the dialog.
 
void loadSplitterState (QSplitter *splitter=nullptr)
 Loads the state of a splitter for the dialog.
 

Additional Inherited Members

- Protected Attributes inherited from WiresharkDialog
CaptureFilecap_file_
 Reference to the underlying capture file.
 
bool file_closed_
 Flag indicating if the capture file has been closed.
 

Detailed Description

Dialog for configuring and displaying packet field value plots.

Constructor & Destructor Documentation

◆ PlotDialog()

PlotDialog::PlotDialog ( QWidget &  parent,
CaptureFile cf 
)
explicit

Construct a PlotDialog.

Parameters
parentThe parent widget (passed to WiresharkDialog).
cfThe capture file to plot.

Member Function Documentation

◆ addDefaultPlot()

void PlotDialog::addDefaultPlot ( bool  enabled,
bool  filtered 
)
protectedvirtual

Add one of the two (or four) default plots.

Parameters
enabledWhether the default plot starts enabled.
filteredWhether to add the filtered or unfiltered variant.

Reimplemented in StratosharkPlotDialog.

◆ addPlot() [1/2]

void PlotDialog::addPlot ( bool  checked,
const QString &  dfilter,
const QString &  yfield 
)

Add a plot with default name, style, colour, and Y-axis factor.

Parameters
checkedWhether the plot starts enabled.
dfilterDisplay filter expression (empty = no filter).
yfieldHeader field abbreviation for the Y-axis values.

◆ addPlot() [2/2]

void PlotDialog::addPlot ( bool  checked,
const QString &  name,
const QString &  dfilter,
QColor  color_idx,
Graph::PlotStyles  style,
const QString &  yfield,
double  y_axis_factor = Graph::default_y_axis_factor_ 
)
protected

Add a fully-specified plot to the dialog.

Parameters
checkedWhether the plot starts enabled.
nameDisplay name shown in the legend.
dfilterDisplay filter expression (empty = no filter).
color_idxRGB pen colour.
stylePlot style (line, dot, bar, stacked bar, etc.).
yfieldHeader field abbreviation for the Y-axis values.
y_axis_factorMultiplier applied to all Y values before plotting (default: Graph::default_y_axis_factor_).

◆ captureFileClosing()

void PlotDialog::captureFileClosing ( )
overrideprotectedvirtual

Handle capture file closing.

Reimplemented from WiresharkDialog.

◆ getFilteredName()

QString PlotDialog::getFilteredName ( ) const
protectedvirtual

Return the display-filter-qualified window/tab title suffix.

Returns
A string appended to the dialog title.

Reimplemented in StratosharkPlotDialog.

◆ getHintText()

QString PlotDialog::getHintText ( unsigned  num_items) const
protectedvirtual

Return the status-bar hint text for normal operation.

Parameters
num_itemsThe number of data points currently plotted.
Returns
A localised summary string for the hint label.

Reimplemented in StratosharkPlotDialog.

◆ getYAxisName()

QString PlotDialog::getYAxisName ( ) const
protectedvirtual

Return the default Y-axis label for this dialog type.

Returns
A human-readable Y-axis name (e.g. "Value").

Reimplemented in StratosharkPlotDialog.

◆ goToPacket

void PlotDialog::goToPacket ( int  packet,
int  hf_id 
)
signal

Emitted when the packet list should navigate to a specific packet.

Parameters
packetThe 1-based frame number to navigate to.
hf_idThe header field ID whose value was clicked, for column highlighting.

◆ initialize()

void PlotDialog::initialize ( QWidget &  parent,
uat_field_t plot_fields,
bool  show_default = true 
)

Finish initialising the dialog after construction.

Parameters
parentThe parent widget.
plot_fieldsUAT field descriptors for the plot table.
show_defaultIf true, call addDefaultPlot() to pre-populate the dialog with sensible defaults.

◆ keyPressEvent()

void PlotDialog::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

Handle key press events.

Parameters
eventThe key event.

Reimplemented from WiresharkDialog.

◆ modelDataChanged

void PlotDialog::modelDataChanged ( const QModelIndex &  topLeft,
const QModelIndex &  bottomRight,
const QVector< int > &  roles 
)
protectedslot

Respond to data changes in the UAT model.

Parameters
topLeftTop-left index of the changed model region.
bottomRightBottom-right index of the changed model region.
rolesThe data roles that changed.

◆ modelRowsInserted

void PlotDialog::modelRowsInserted ( const QModelIndex &  parent,
int  first,
int  last 
)
protectedslot

Respond to new rows being inserted into the UAT model.

Parameters
parentThe parent model index (always invalid for a flat list).
firstFirst inserted row index.
lastLast inserted row index.

◆ modelRowsMoved

void PlotDialog::modelRowsMoved ( const QModelIndex &  sourceParent,
int  sourceStart,
int  sourceEnd,
const QModelIndex &  destinationParent,
int  destinationRow 
)
protectedslot

Respond to rows being reordered within the UAT model.

Parameters
sourceParentSource parent index.
sourceStartFirst moved source row.
sourceEndLast moved source row.
destinationParentDestination parent index.
destinationRowDestination insertion row.

◆ modelRowsRemoved

void PlotDialog::modelRowsRemoved ( const QModelIndex &  parent,
int  first,
int  last 
)
protectedslot

Respond to rows being removed from the UAT model.

Parameters
parentThe parent model index.
firstFirst removed row index.
lastLast removed row index.

◆ reject()

void PlotDialog::reject ( )
overrideprotectedvirtual

Handle dialog rejection (Close button / Escape).

Reimplemented from WiresharkDialog.

◆ setPosMarker

void PlotDialog::setPosMarker ( const double  xCoord,
const int  selectMPos,
const int  posMPos 
)
signal

Emitted to set the position of a position or difference marker.

Parameters
xCoordX-axis coordinate of the marker.
selectMPosIndex of the selected measurement marker.
posMPosIndex of the position marker.

◆ updateMarker

void PlotDialog::updateMarker ( const int  size,
const double  xCoord,
const int   
)
signal

Emitted to update the size and position of a measurement marker.

Parameters
sizeMarker size in pixels.
xCoordX-axis coordinate of the marker in plot units.

The documentation for this class was generated from the following files: