Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
GraphDialog Class Reference

Base class of the dialogs that draw one series per UAT table row (I/O Graph and Plot). More...

#include <graph_dialog.h>

Inheritance diagram for GraphDialog:
WiresharkDialog GeometryStateDialog IOGraphDialog PlotDialog StratosharkIOGraphDialog StratosharkPlotDialog

Protected Member Functions

 GraphDialog (QWidget &parent, CaptureFile &cf, int colorColumn)
 Constructs the dialog and follows theme changes.
void setUatModel (UatModel *model)
 Set the uat_model_ and start tracking the rows.
QColor newGraphColor () const
 The color for the row about to be appended to uat_model_.
Protected Member Functions inherited from WiresharkDialog
virtual void keyPressEvent (QKeyEvent *event) override
 Handles key press events.
virtual void accept () override
 Accepts the dialog.
virtual void reject () override
 Rejects 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 listening () const
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 captureFileClosing ()
 Called when the capture file is about to close. This can be used to disconnect taps and similar actions. updateWidgets() is called at the end. To enable/disable widgets captureFileClosed() is more suitable.
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
bool 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.

Static Protected Member Functions

template<typename List>
static void moveListRows (List &list, int sourceStart, int sourceEnd, int destinationRow)
 Apply a model rowsMoved signal to a list kept in model row order.

Protected Attributes

QPointer< UatModel > uat_model_
Protected Attributes inherited from WiresharkDialog
CaptureFile & cap_file_
 Reference to the underlying capture file.
bool file_closed_
 Flag indicating if the capture file has been closed.

Additional Inherited Members

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 inherited from WiresharkDialog
void captureEvent (CaptureEvent e)
 Handles capture events.

Detailed Description

Base class of the dialogs that draw one series per UAT table row (I/O Graph and Plot).

Every row has an index into the theme's graph palette. A new row takes its row number as index, so the first series uses palette color 0, the second color 1 and so on. The index stays with the row when other rows are moved or removed. When the theme changes, every row gets the new theme's color for its index, except rows whose color the user picked while the dialog was open. Rows loaded from the profile and copied rows follow the theme too, so a saved or copied custom color is replaced on the next theme change. The user-picked state lives only in memory.

Constructor & Destructor Documentation

◆ GraphDialog()

GraphDialog::GraphDialog ( QWidget & parent,
CaptureFile & cf,
int colorColumn )
protected

Constructs the dialog and follows theme changes.

Parameters
parentThe parent widget.
cfThe associated capture file.
colorColumnThe UAT column that holds the series color.

Member Function Documentation

◆ moveListRows()

template<typename List>
void GraphDialog::moveListRows ( List & list,
int sourceStart,
int sourceEnd,
int destinationRow )
inlinestaticprotected

Apply a model rowsMoved signal to a list kept in model row order.

Rows moved up land at destinationRow; rows moved down land before it.

Parameters
listThe list to reorder.
sourceStartFirst moved row.
sourceEndLast moved row (inclusive).
destinationRowThe destination row reported by the model.

◆ newGraphColor()

QColor GraphDialog::newGraphColor ( ) const
protected

The color for the row about to be appended to uat_model_.

Returns
The current theme's palette color for that row's index, or an invalid QColor if the theme has no graph colors.

◆ setUatModel()

void GraphDialog::setUatModel ( UatModel * model)
protected

Set the uat_model_ and start tracking the rows.

Call before connecting the subclass's own model handlers, so the palette indexes are current when those run. Pass nullptr when the capture file closes, after disconnecting the old model from this dialog.

Parameters
modelThe UAT table model, or nullptr to stop using one.

Member Data Documentation

◆ uat_model_

QPointer<UatModel> GraphDialog::uat_model_
protected

UAT-backed table model, one row per series. Written only by setUatModel().


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