wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
ExerciseEngine Class Reference

#include <ExerciseEngine.h>

Inheritance diagram for ExerciseEngine:
[legend]

Public Member Functions

void advanceStep ()
 Manually advances one step (used by the overlay Next/Finish button for observe steps).
int currentStep () const
const ExerciseStepcurrentStepData () const
 Returns the data for the current step. Caller must check isActive() first.
void exerciseCompleted ()
 ExerciseEngine (QObject *parent=nullptr)
QString exerciseId () const
void exerciseStopped ()
QString exerciseTitle () const
void goToPreviousStep ()
bool isActive () const
bool loadFromResource (const QString &resourcePath)
void retranslate ()
void retranslated ()
void setScene (Scene *scene)
void start ()
void stepChanged (int step, int total, const ExerciseStep &data)
void stepCompleted (int step)
void stop ()
int totalSteps () const

Detailed Description

Definition at line 15 of file ExerciseEngine.h.

Constructor & Destructor Documentation

◆ ExerciseEngine()

ExerciseEngine::ExerciseEngine ( QObject * parent = nullptr)
explicit

Member Function Documentation

◆ advanceStep()

void ExerciseEngine::advanceStep ( )

Manually advances one step (used by the overlay Next/Finish button for observe steps).

Definition at line 126 of file ExerciseEngine.cpp.

◆ currentStep()

int ExerciseEngine::currentStep ( ) const
inline

Definition at line 33 of file ExerciseEngine.h.

◆ currentStepData()

const ExerciseStep & ExerciseEngine::currentStepData ( ) const

Returns the data for the current step. Caller must check isActive() first.

Definition at line 79 of file ExerciseEngine.cpp.

◆ exerciseCompleted()

void ExerciseEngine::exerciseCompleted ( )

◆ exerciseId()

QString ExerciseEngine::exerciseId ( ) const
inline

Definition at line 26 of file ExerciseEngine.h.

◆ exerciseStopped()

void ExerciseEngine::exerciseStopped ( )

Referenced by stop().

◆ exerciseTitle()

QString ExerciseEngine::exerciseTitle ( ) const
inline

Definition at line 27 of file ExerciseEngine.h.

◆ goToPreviousStep()

void ExerciseEngine::goToPreviousStep ( )

Definition at line 106 of file ExerciseEngine.cpp.

◆ isActive()

bool ExerciseEngine::isActive ( ) const
inline

Definition at line 35 of file ExerciseEngine.h.

◆ loadFromResource()

bool ExerciseEngine::loadFromResource ( const QString & resourcePath)

Loads an exercise from a Qt resource path (e.g. ":/Exercises/basic-and-gate.json"). Returns false and leaves the engine inactive if the resource is missing or malformed.

Definition at line 63 of file ExerciseEngine.cpp.

◆ retranslate()

void ExerciseEngine::retranslate ( )

Re-translates the title and all steps' instruction/hint text for the current language, preserving currentStep()/isActive(). No-op if never loaded or inactive. Emits retranslated() (never stepChanged()) so listeners can't replay step-entry side effects like MainWindow's click-target handling.

Definition at line 131 of file ExerciseEngine.cpp.

References retranslated().

◆ retranslated()

void ExerciseEngine::retranslated ( )

Referenced by retranslate().

◆ setScene()

void ExerciseEngine::setScene ( Scene * scene)

Binds the engine to scene. Disconnects the previous scene if any. Pass nullptr to detach without binding a new scene.

Definition at line 68 of file ExerciseEngine.cpp.

References Scene::circuitHasChanged().

◆ start()

void ExerciseEngine::start ( )

Definition at line 84 of file ExerciseEngine.cpp.

References Scene::circuitHasChanged().

◆ stepChanged()

void ExerciseEngine::stepChanged ( int step,
int total,
const ExerciseStep & data )

◆ stepCompleted()

void ExerciseEngine::stepCompleted ( int step)

◆ stop()

void ExerciseEngine::stop ( )

Definition at line 95 of file ExerciseEngine.cpp.

References Scene::circuitHasChanged(), and exerciseStopped().

◆ totalSteps()

int ExerciseEngine::totalSteps ( ) const
inline

Definition at line 34 of file ExerciseEngine.h.


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