ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ProtocolAnalyzerDialog Class Reference

UI for the history system. More...

#include <ProtocolAnalyzerDialog.h>

Inheritance diagram for ProtocolAnalyzerDialog:
Inheritance graph
[legend]
Collaboration diagram for ProtocolAnalyzerDialog:
Collaboration graph
[legend]

Public Member Functions

 ProtocolAnalyzerDialog (PacketDecoder *filter, std::shared_ptr< PacketManager > mgr, Session &session, MainWindow &wnd)
 
virtual bool DoRender ()
 Renders the dialog and handles UI events. More...
 
bool PollForSelectionChanges ()
 Returns true if a new waveform was selected this frame. More...
 
TimePoint GetSelectedWaveformTimestamp ()
 
PacketDecoderGetFilter ()
 
void OnWaveformLoaded (TimePoint t)
 Called when a new waveform arrives.
 
void OnCursorMoved (int64_t offset)
 Notifies the dialog that a cursor has been moved.
 
std::string GetFilterExpression ()
 
void SetFilterExpression (const std::string &f)
 
- Public Member Functions inherited from Dialog
 Dialog (const std::string &title, const std::string &id, ImVec2 defaultSize=ImVec2(300, 100))
 
virtual bool Render ()
 Renders the dialog and handles UI events. More...
 
void RenderAsChild ()
 Runs the dialog's contents directly into a parent window.
 
virtual bool DoRender ()=0
 
const std::string & GetID ()
 
std::string GetTitleAndID ()
 

Protected Types

enum  { FORMAT_HEX , FORMAT_ASCII , FORMAT_HEXDUMP }
 Output data format.
 

Protected Member Functions

void DoDataColumn (Packet *pack, ImFont *dataFont, std::vector< RowData > &rows, size_t nrow)
 Handles the "data" column for packets.
 
- Protected Member Functions inherited from Dialog
bool FloatInputWithApplyButton (const std::string &label, float &currentValue, float &committedValue)
 Helper for displaying a floating-point input box with an "apply" button.
 
bool TextInputWithApplyButton (const std::string &label, std::string &currentValue, std::string &committedValue)
 
bool IntInputWithImplicitApply (const std::string &label, int &currentValue, int &committedValue)
 
bool UnitInputWithExplicitApply (const std::string &label, std::string &currentValue, float &committedValue, Unit unit)
 Input box for a floating point value with an associated unit and an "apply" button. More...
 
void RenderErrorPopup ()
 Popup message when we fail to connect.
 
void ShowErrorPopup (const std::string &title, const std::string &msg)
 Opens the error popup.
 

Protected Attributes

PacketDecoderm_filter
 
std::shared_ptr< PacketManagerm_mgr
 
Sessionm_session
 
MainWindowm_parent
 
bool m_waveformChanged
 True if a new waveform in the dialog was selected this frame.
 
TimePoint m_lastSelectedWaveform
 Timestamp of the previously selected waveform.
 
Packetm_selectedPacket
 Currently selected packet.
 
enum ProtocolAnalyzerDialog:: { ... }  m_dataFormat
 Output data format.
 
bool m_needToScrollToSelectedPacket
 True if the selected packet should be scrolled to.
 
bool m_firstDataBlockOfFrame
 True the first time DoDataColumn() is called in a given frame.
 
size_t m_bytesPerLine
 The number of bytes per line we can display with the current column setup.
 
std::string m_filterExpression
 Filter expression we're typing.
 
std::string m_committedFilterExpression
 Filter expression we're actually using.
 
- Protected Attributes inherited from Dialog
bool m_open
 
std::string m_id
 
std::string m_title
 
ImVec2 m_defaultSize
 
std::string m_errorPopupTitle
 
std::string m_errorPopupMessage
 

Additional Inherited Members

- Static Public Member Functions inherited from Dialog
static bool Combo (const std::string &label, const std::vector< std::string > &items, int &selection)
 Displays a combo box from a vector<string>
 
static bool UnitInputWithImplicitApply (const std::string &label, std::string &currentValue, float &committedValue, Unit unit)
 Input box for a floating point value with an associated unit. More...
 
static bool UnitInputWithImplicitApply (const std::string &label, std::string &currentValue, double &committedValue, Unit unit)
 Input box for a double precision floating point value with an associated unit. More...
 
static bool UnitInputWithImplicitApply (const std::string &label, std::string &currentValue, int64_t &committedValue, Unit unit)
 Input box for an integer value with an associated unit. More...
 
static bool TextInputWithImplicitApply (const std::string &label, std::string &currentValue, std::string &committedValue)
 
static void Tooltip (const std::string &str, bool allowDisabled=false)
 Helper based on imgui demo for displaying tooltip text over the previously rendered widget.
 
static void HelpMarker (const std::string &str)
 
static void HelpMarker (const std::string &header, const std::vector< std::string > &bullets)
 

Detailed Description

UI for the history system.

Member Function Documentation

◆ DoRender()

bool ProtocolAnalyzerDialog::DoRender ( )
virtual

Renders the dialog and handles UI events.

Returns
True if we should continue showing the dialog False if it's been closed

Implements Dialog.

◆ PollForSelectionChanges()

bool ProtocolAnalyzerDialog::PollForSelectionChanges ( )
inline

Returns true if a new waveform was selected this frame.

Returns false if only a new packet was selected, but within the same waveform


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