|
ngscopeclient v0.3
|
UI for the history system. More...
#include <HistoryDialog.h>


Public Member Functions | |
| HistoryDialog (HistoryManager &mgr, Session *session, MainWindow *wnd) | |
| virtual bool | DoRender () |
| Renders the dialog and handles UI events. | |
| bool | PollForSelectionChanges () |
| void | LoadHistoryFromSelection (Session &session) |
| Applies waveforms from the currently selected history row to the scopes. | |
| void | UpdateSelectionToLatest () |
| Selects the last row in the history. | |
| void | SelectTimestamp (TimePoint t) |
| Selects the row with a specified timestamp. | |
| TimePoint | GetSelectedPoint () |
| Gets the timestamp of our selection. | |
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 ¤tValue, T &committedValue, Unit unit, const char *tooltip, optional< ImVec4 > optcolor, bool allow7SegmentDisplay, bool explicitApply) |
| Render an editable numeric value. | |
Protected Attributes | |
| HistoryManager & | m_mgr |
| float | m_rowHeight |
| Height of a row in the dialog. | |
| bool | m_selectionChanged |
| True if a new row in the dialog was selected this frame. | |
| std::shared_ptr< HistoryPoint > | m_selectedPoint |
| The currently selected point of history. | |
| Marker * | m_selectedMarker |
| The currently selected marker. | |
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 ¤tValue, float &committedValue, Unit unit) |
| Input box for a floating point value with an associated unit. | |
| static bool | UnitInputWithImplicitApply (const std::string &label, std::string ¤tValue, 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 ¤tValue, int64_t &committedValue, Unit unit) |
| Input box for an integer value with an associated unit. | |
| static bool | TextInputWithImplicitApply (const std::string &label, std::string ¤tValue, 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 ¤tValue, std::string &committedValue) |
| bool | IntInputWithImplicitApply (const std::string &label, int ¤tValue, int &committedValue) |
| bool | UnitInputWithExplicitApply (const std::string &label, std::string ¤tValue, 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 ¤tValue, 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 ¤tValue, 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. | |
UI for the history system.
|
virtual |
Renders the dialog and handles UI events.
Implements Dialog.
Applies waveforms from the currently selected history row to the scopes.
This is done at the very end of the frame following the actual selection change, to avoid inconsistent UI state from making the change mid-frame.