ngscopeclient v0.2.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
BERTDialog Class Reference
Inheritance diagram for BERTDialog:
Inheritance graph
[legend]
Collaboration diagram for BERTDialog:
Collaboration graph
[legend]

Public Member Functions

 BERTDialog (std::shared_ptr< SCPIBERT > bert, std::shared_ptr< BERTState > state, Session *session)
 
virtual bool DoRender ()
 
std::shared_ptr< SCPIBERTGetBERT ()
 
void RefreshFromHardware ()
 
- Public Member Functions inherited from Dialog
 Dialog (const std::string &title, const std::string &id, ImVec2 defaultSize=ImVec2(300, 100), Session *session=nullptr, MainWindow *parent=nullptr)
 
virtual bool Render ()
 Renders the dialog and handles UI events.
 
void RenderAsChild ()
 Runs the dialog's contents directly into a parent window.
 
const std::string & GetID ()
 
std::string GetTitleAndID ()
 
template<typename T >
bool renderEditableProperty (float width, const string &label, string &currentValue, T &committedValue, Unit unit, const char *tooltip, optional< ImVec4 > optcolor, bool allow7SegmentDisplay, bool explicitApply)
 Render an editable numeric value.
 

Protected Attributes

double m_tstart
 Timestamp of when we opened the dialog.
 
std::shared_ptr< SCPIBERTm_bert
 The BERT we're controlling.
 
std::shared_ptr< BERTStatem_state
 Current channel stats, live updated.
 
std::vector< std::string > m_channelNames
 Set of channel names.
 
uint64_t m_txPattern
 Custom transmit pattern.
 
std::string m_txPatternText
 
uint64_t m_integrationLength
 Integration length.
 
float m_committedIntegrationLength
 
std::string m_integrationLengthText
 
int m_refclkIndex
 Refclk output mux selector.
 
std::vector< std::string > m_refclkNames
 
int m_dataRateIndex
 Data rate selector.
 
std::vector< int64_tm_dataRates
 
std::vector< std::string > m_dataRateNames
 
int64_t m_refclkFrequency
 Calculated refclk out frequency.
 
- 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
 
Sessionm_session
 optional reference to session
 
MainWindowm_parent
 optional reference to parent MainWindow
 
ImGuiID m_editedItemId = 0
 Id of the item currently beeing edited.
 
ImGuiID m_lastEditedItemId = 0
 Id of the last edited item.
 

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, bool *open=nullptr)
 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.
 
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.
 
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.
 
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)
 
- Protected Member Functions inherited from Dialog
bool TextInputWithExplicitApply (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.
 
void renderNumericValue (const std::string &value, bool &clicked, bool &hovered, std::optional< ImVec4 > optcolor=std::nullopt, bool allow7SegmentDisplay=false, float digitHeight=0, bool clickable=true)
 Render a numeric value.
 
void renderReadOnlyProperty (float width, const std::string &label, const std::string &value, const char *tooltip=nullptr)
 Render a read-only instrument property value.
 
template<typename T >
bool renderEditableProperty (float width, const std::string &label, std::string &currentValue, T &committedValue, Unit unit, const char *tooltip=nullptr, std::optional< ImVec4 > optcolor=std::nullopt, bool allow7SegmentDisplay=false, bool explicitApply=false)
 
template<typename T >
bool renderEditablePropertyWithExplicitApply (float width, const std::string &label, std::string &currentValue, T &committedValue, Unit unit, const char *tooltip=nullptr, std::optional< ImVec4 > optcolor=std::nullopt, bool allow7SegmentDisplay=false)
 Render an editable numeric value with explicit apply (if the input value needs to explicitly be applied by clicking the apply button)
 
void renderBadge (float width, ImVec4 color, const std::string &label)
 Render a badge with text inside.
 
void RenderErrorPopup ()
 Popup message when we fail to connect.
 
void ShowErrorPopup (const std::string &title, const std::string &msg)
 Opens the error popup.
 
void Render7SegmentDigit (ImDrawList *drawList, uint8_t digit, ImVec2 size, ImVec2 position, float thikness, ImU32 colorOn, ImU32 colorOff)
 Render a single digit in 7 segment display style.
 
void Render7SegmentValue (const std::string &value, ImVec4 color, float digitHeight)
 Render a numeric value with a 7 segment display style.
 
void Render7SegmentValue (const std::string &value, ImVec4 color, float digitHeight, bool &clicked, bool &hovered, bool clickable=true)
 Render a numeric value with a 7 segment display style.
 

Member Function Documentation

◆ DoRender()

bool BERTDialog::DoRender ( )
virtual

Implements Dialog.


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