ngscopeclient
v0.2.2
Loading...
Searching...
No Matches
src
ngscopeclient
TutorialWizard.h
Go to the documentation of this file.
1
/***********************************************************************************************************************
2
* *
3
* ngscopeclient *
4
* *
5
* Copyright (c) 2012-2026 Andrew D. Zonenberg and contributors *
6
* All rights reserved. *
7
* *
8
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the *
9
* following conditions are met: *
10
* *
11
* * Redistributions of source code must retain the above copyright notice, this list of conditions, and the *
12
* following disclaimer. *
13
* *
14
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the *
15
* following disclaimer in the documentation and/or other materials provided with the distribution. *
16
* *
17
* * Neither the name of the author nor the names of any contributors may be used to endorse or promote products *
18
* derived from this software without specific prior written permission. *
19
* *
20
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
21
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL *
22
* THE AUTHORS BE HELD LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *
24
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *
26
* POSSIBILITY OF SUCH DAMAGE. *
27
* *
28
***********************************************************************************************************************/
29
35
#ifndef TutorialWizard_h
36
#define TutorialWizard_h
37
38
#include "
Dialog.h
"
39
40
class
TutorialWizard
:
public
Dialog
41
{
42
public
:
43
TutorialWizard
(
Session
* session,
MainWindow
*
parent
);
44
virtual
~TutorialWizard
();
45
46
virtual
bool
Render
()
override
;
47
virtual
bool
DoRender
()
override
;
48
49
enum
TutorialStep
50
{
51
TUTORIAL_00_INTRO,
52
TUTORIAL_01_ADDINSTRUMENT,
53
TUTORIAL_02_CONNECT,
54
TUTORIAL_03_ACQUIRE,
55
TUTORIAL_04_SCROLLZOOM,
56
TUTORIAL_05_YAXIS,
57
TUTORIAL_06_FILTER_GRAPH,
58
59
TUTORIAL_99_FINAL
60
};
61
62
TutorialStep GetCurrentStep()
63
{
return
static_cast<
TutorialStep
>
(
m_step
); }
64
66
void
AdvanceToNextStep
()
67
{
68
m_step
++;
69
m_continueEnabled
=
false
;
70
}
71
73
void
EnableNextStep
()
74
{
m_continueEnabled
=
true
; }
75
76
void
DrawSpeechBubble(
77
ImVec2
anchorPos
,
78
ImGuiDir
dirTip
,
79
std::string
str
);
80
81
protected
:
82
83
void
MakePathSpeechBubble(
84
ImDrawList
*
list
,
85
ImGuiDir
dirTip
,
86
ImVec2
anchorPos
,
87
ImVec2
textsize
,
88
float
tailLength
,
89
float
radius
,
90
float
leftOverhang
);
91
93
std::vector<std::string>
m_markdownText
;
94
96
size_t
m_step
;
97
99
bool
m_continueEnabled
;
100
};
101
102
#endif
Dialog.h
Declaration of Dialog.
AcceleratorBufferIterator
Definition
AcceleratorBuffer.h:204
Dialog
Generic dialog box or other popup window.
Definition
Dialog.h:46
MainWindow
Top level application window.
Definition
MainWindow.h:168
Session
A Session stores all of the instrument configuration and other state the user has open.
Definition
Session.h:126
TutorialWizard
Definition
TutorialWizard.h:41
TutorialWizard::m_step
size_t m_step
Current step of the tutorial.
Definition
TutorialWizard.h:96
TutorialWizard::DoRender
virtual bool DoRender() override
Renders the dialog and handles UI events.
Definition
TutorialWizard.cpp:97
TutorialWizard::AdvanceToNextStep
void AdvanceToNextStep()
Move the tutorial to the next step.
Definition
TutorialWizard.h:66
TutorialWizard::EnableNextStep
void EnableNextStep()
Enable the next step but do not advance to it.
Definition
TutorialWizard.h:73
TutorialWizard::m_markdownText
std::vector< std::string > m_markdownText
Text for each tutorial page.
Definition
TutorialWizard.h:93
TutorialWizard::Render
virtual bool Render() override
Draw the dialog, making sure it spawns in a sane place.
Definition
TutorialWizard.cpp:78
TutorialWizard::m_continueEnabled
bool m_continueEnabled
True if the "continue" button is active.
Definition
TutorialWizard.h:99
Generated by
1.9.8