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

Public Member Functions

 RFGeneratorDialog (std::shared_ptr< SCPIRFSignalGenerator > generator, Session *session)
 
virtual bool DoRender ()
 
void RefreshFromHardware ()
 
std::shared_ptr< SCPIRFSignalGenerator > GetGenerator ()
 
- 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 Member Functions

void DoChannel (size_t i)
 Run the UI for a single channel.
 
- 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.
 

Protected Attributes

std::shared_ptr< SCPIRFSignalGenerator > m_generator
 The generator we're controlling.
 
std::vector< RFGeneratorChannelUIState > m_uiState
 UI state for each channel.
 
- 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
 
Session * m_session
 optional reference to session
 
MainWindow * m_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)
 

Member Function Documentation

◆ DoRender()

bool RFGeneratorDialog::DoRender ( )
virtual

Implements Dialog.


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