Open-Typer
Open source typewriting tutor program
Loading...
Searching...
No Matches
ClassManager Class Reference

The ClassManager class provides access to grading configuration of each class. More...

#include "grades/internal/ClassManager.h"

Inheritance diagram for ClassManager:
Collaboration diagram for ClassManager:

Public Member Functions

void init ()
 
QQmlListProperty< Classclasses (void) override
 
void setClasses (QList< Class * > newClasses) override
 
QStringList classNames (void) override
 
Q_INVOKABLE void createNewClass (void) override
 
Q_INVOKABLE void removeClass (Class *classPtr) override
 
Q_INVOKABLE int targetHitsPerMinute (void) override
 
Q_INVOKABLE int targetHitsPerMinute (int selectedClass) override
 

Static Public Member Functions

static std::shared_ptr< ClassManagerinstance ()
 

Properties

QQmlListProperty< Classclasses
 
QStringList classNames
 

Private Member Functions

QString configLocation ()
 
void write (void)
 

Private Attributes

QList< Class * > m_classes
 
QStringList m_classNames
 
QJsonDocument doc
 

Static Private Attributes

static std::shared_ptr< ClassManagerm_instance = std::make_shared<ClassManager>()
 
static const QString nameProperty = "name"
 
static const QString descriptionProperty = "description"
 
static const QString gradingProperty = "grading"
 
static const QString targetHitsProperty = "targetHitsPerMinute"
 

Additional Inherited Members

- Public Types inherited from IClassManager
enum  GradingMethod { GradingMethod_Numbers = 0 , GradingMethod_Letters = 1 }
 
- Signals inherited from IClassManager
void classesChanged ()
 
void classNamesChanged ()
 

Detailed Description

The ClassManager class provides access to grading configuration of each class.

Since
Open-Typer 5.1.0

Member Function Documentation

◆ classes()

QQmlListProperty< Class > ClassManager::classes ( void  )
overridevirtual

Implements IClassManager.

◆ classNames()

QStringList ClassManager::classNames ( void  )
overridevirtual

Implements IClassManager.

◆ configLocation()

QString ClassManager::configLocation ( )
private

Returns the path to the class grading configuration JSON file.

◆ createNewClass()

void ClassManager::createNewClass ( void  )
overridevirtual

Creates a new class and adds it to the list of classes.

Implements IClassManager.

◆ init()

void ClassManager::init ( )

Initializes the ClassManager instance.

◆ instance()

std::shared_ptr< ClassManager > ClassManager::instance ( )
static

Returns the static instance of ClassManager.

◆ removeClass()

void ClassManager::removeClass ( Class classPtr)
overridevirtual

Removes the given class.

Implements IClassManager.

◆ setClasses()

void ClassManager::setClasses ( QList< Class * >  newClasses)
overridevirtual

Implements IClassManager.

◆ targetHitsPerMinute() [1/2]

int ClassManager::targetHitsPerMinute ( int  selectedClass)
overridevirtual

Returns target hits per minute based on the given class and current month.

Implements IClassManager.

◆ targetHitsPerMinute() [2/2]

int ClassManager::targetHitsPerMinute ( void  )
overridevirtual

Returns target hits per minute based on selected class and current month.

Implements IClassManager.

◆ write()

void ClassManager::write ( void  )
private

Writes all classes into the configuration file.

Property Documentation

◆ classes

QQmlListProperty< Class > ClassManager::classes
read

List of classes.

◆ classNames

QStringList ClassManager::classNames
read

List of class names.


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