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

Stratoshark-specific I/O graph dialog, overriding axis labels, default graphs, and hint strings to use Stratoshark terminology (e.g. "events" in place of "packets"). More...

#include <stratoshark_io_graph_dialog.h>

Inheritance diagram for StratosharkIOGraphDialog:
IOGraphDialog WiresharkDialog GeometryStateDialog

Public Member Functions

 StratosharkIOGraphDialog (QWidget &parent, CaptureFile &cf)
 Constructs a StratosharkIOGraphDialog.
 
virtual ~StratosharkIOGraphDialog ()
 Destroys the dialog.
 
void initialize (QWidget &parent, QString displayFilter=QString(), io_graph_item_unit_t value_units=IOG_ITEM_UNIT_PACKETS, QString yfield=QString(), bool is_sibling_dialog=false, const QVector< QString > convFilters=QVector< QString >())
 Completes dialog initialization after construction.
 
virtual void addDefaultGraph (bool enabled, int idx=0) override
 Adds a Stratoshark-appropriate default graph to the dialog.
 
- Public Member Functions inherited from IOGraphDialog
 IOGraphDialog (QWidget &parent, CaptureFile &cf, const char *type_unit_name)
 Construct an IOGraphDialog.
 
virtual ~IOGraphDialog ()
 Destroy the dialog.
 
void initialize (QWidget &parent, uat_field_t *io_graph_fields, QString displayFilter=QString(), io_graph_item_unit_t value_units=IOG_ITEM_UNIT_PACKETS, QString yfield=QString(), bool is_sibling_dialog=false, const QVector< QString > convFilters=QVector< QString >())
 Finish initialising the dialog after construction.
 
void addGraph (bool checked, bool asAOT, QString name, QString dfilter, QColor color_idx, IOGraph::PlotStyles style, io_graph_item_unit_t value_units, QString yfield, int moving_average, double yaxisfactor)
 Add a fully-specified graph to the dialog.
 
void addGraph (bool checked, bool asAOT, QString dfilter, io_graph_item_unit_t value_units, QString yfield)
 Add a graph with a minimal set of parameters.
 
void addGraph (bool copy_from_current=false)
 Add a blank graph or copy the currently selected graph.
 
void syncGraphSettings (int row)
 Synchronise the QCustomPlot graph object for row with its UAT model row data.
 
qsizetype graphCount () const
 Return the number of graphs currently in the dialog.
 
- 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 Member Functions

virtual QString getFilteredName () const override
 Returns the display name used when saving filtered graph data.
 
virtual QString getXAxisName () const override
 Returns the localised X-axis label for the graph.
 
virtual const char * getYAxisName (io_graph_item_unit_t value_units) const override
 Returns the localised Y-axis label for the given unit type.
 
virtual QString getYFieldName (io_graph_item_unit_t value_units, const QString &yfield) const override
 Returns the default Y-axis field name for the given unit and explicit field override.
 
virtual int getYAxisValue (const QString &data) override
 Parses a Y-axis value from a raw data string in the graph model.
 
virtual QString getNoDataHint () const override
 Returns the hint string displayed when the graph contains no data.
 
virtual QString getHintText (unsigned num_items) const override
 Returns the status-bar hint string summarising the graph contents.
 
- Protected Member Functions inherited from IOGraphDialog
void captureFileClosing ()
 Handle capture file closing.
 
void keyPressEvent (QKeyEvent *event)
 Handle key press events.
 
void reject ()
 Handle dialog rejection (Close button / Escape).
 
- 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

- Public Slots inherited from IOGraphDialog
void scheduleReplot (bool now=false)
 Request a lightweight replot of already-computed graph data.
 
void scheduleRecalc (bool now=false)
 Request a medium-weight value recalculation followed by replot.
 
void scheduleRetap (bool now=false)
 Request a heavy-weight retap of all packet data.
 
void reloadFields ()
 Reload the list of available Y-axis field names.
 
- Signals inherited from IOGraphDialog
void goToPacket (int packet_num)
 Emitted when the plot should navigate to a specific packet.
 
void recalcGraphData (capture_file *cap_file)
 Emitted to trigger a full recalculation of all graph data.
 
void intervalChanged (int interval)
 Emitted when the time interval selection changes.
 
void reloadValueUnitFields ()
 Emitted to request that Y-axis field combo boxes reload their available field lists.
 
- Protected Slots inherited from IOGraphDialog
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 moved within the UAT model.
 
- Protected Slots inherited from WiresharkDialog
void captureEvent (CaptureEvent e)
 Handles capture events.
 
- 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.
 
- Static Protected Attributes inherited from IOGraphDialog
static const int DEFAULT_MOVING_AVERAGE = 0
 
static const int DEFAULT_Y_AXIS_FACTOR = 1
 

Detailed Description

Stratoshark-specific I/O graph dialog, overriding axis labels, default graphs, and hint strings to use Stratoshark terminology (e.g. "events" in place of "packets").

Constructor & Destructor Documentation

◆ StratosharkIOGraphDialog()

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

Constructs a StratosharkIOGraphDialog.

Call initialize() after construction to complete setup, allowing polymorphic virtual dispatch during initialisation.

Parameters
parentParent widget reference.
cfCapture file to graph.

Member Function Documentation

◆ addDefaultGraph()

void StratosharkIOGraphDialog::addDefaultGraph ( bool  enabled,
int  idx = 0 
)
overridevirtual

Adds a Stratoshark-appropriate default graph to the dialog.

Parameters
enabledtrue if the graph should be visible immediately.
idxZero-based index controlling which default graph preset to add.

Reimplemented from IOGraphDialog.

◆ getFilteredName()

QString StratosharkIOGraphDialog::getFilteredName ( ) const
overrideprotectedvirtual

Returns the display name used when saving filtered graph data.

Returns
Stratoshark-specific filtered name string.

Reimplemented from IOGraphDialog.

◆ getHintText()

QString StratosharkIOGraphDialog::getHintText ( unsigned  num_items) const
overrideprotectedvirtual

Returns the status-bar hint string summarising the graph contents.

Parameters
num_itemsNumber of items (events) currently plotted.
Returns
Localised hint string incorporating num_items.

Reimplemented from IOGraphDialog.

◆ getNoDataHint()

QString StratosharkIOGraphDialog::getNoDataHint ( ) const
overrideprotectedvirtual

Returns the hint string displayed when the graph contains no data.

Returns
Localised no-data hint string.

Reimplemented from IOGraphDialog.

◆ getXAxisName()

QString StratosharkIOGraphDialog::getXAxisName ( ) const
overrideprotectedvirtual

Returns the localised X-axis label for the graph.

Returns
X-axis name string (e.g. "Time (s)").

Reimplemented from IOGraphDialog.

◆ getYAxisName()

const char * StratosharkIOGraphDialog::getYAxisName ( io_graph_item_unit_t  value_units) const
overrideprotectedvirtual

Returns the localised Y-axis label for the given unit type.

Parameters
value_unitsThe io_graph_item_unit_t controlling the Y-axis metric.
Returns
NUL-terminated Y-axis name string appropriate for value_units.

Reimplemented from IOGraphDialog.

◆ getYAxisValue()

int StratosharkIOGraphDialog::getYAxisValue ( const QString &  data)
overrideprotectedvirtual

Parses a Y-axis value from a raw data string in the graph model.

Parameters
dataRaw data string to parse.
Returns
Integer Y value extracted from data.

Reimplemented from IOGraphDialog.

◆ getYFieldName()

QString StratosharkIOGraphDialog::getYFieldName ( io_graph_item_unit_t  value_units,
const QString &  yfield 
) const
overrideprotectedvirtual

Returns the default Y-axis field name for the given unit and explicit field override.

Parameters
value_unitsThe io_graph_item_unit_t for which the field name is needed.
yfieldExplicit field name; if non-empty, may be returned as-is or transformed.
Returns
Resolved Y-axis field name string.

Reimplemented from IOGraphDialog.

◆ initialize()

void StratosharkIOGraphDialog::initialize ( QWidget &  parent,
QString  displayFilter = QString(),
io_graph_item_unit_t  value_units = IOG_ITEM_UNIT_PACKETS,
QString  yfield = QString(),
bool  is_sibling_dialog = false,
const QVector< QString >  convFilters = QVector<QString>() 
)

Completes dialog initialization after construction.

Overloaded to supply Stratoshark-appropriate default io_graph_fields. Must be called once after the object is fully constructed so that virtual method dispatch works correctly during setup.

Parameters
parentParent widget reference.
displayFilterInitial display-filter string; empty for no filter.
value_unitsY-axis unit type for the initial graph.
yfieldY-axis field name; empty uses the unit-specific default.
is_sibling_dialogtrue when this dialog is opened alongside an existing I/O graph dialog rather than as the primary instance.
convFiltersOptional per-graph conversation filters to pre-populate.

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