Finance manager
Лабораторна робота №2 - Документація коду
Loading...
Searching...
No Matches
Public Member Functions | Private Slots | Private Attributes | List of all members
ForecastWindow Class Reference

Вікно для відображення фінансових прогнозів на основі наявних даних. More...

#include <ForecastWindow.h>

Inheritance diagram for ForecastWindow:
Inheritance graph
[legend]
Collaboration diagram for ForecastWindow:
Collaboration graph
[legend]

Public Member Functions

 ForecastWindow (const Database &db, QWidget *parent=nullptr)
 Конструктор класу ForecastWindow.
 

Private Slots

void onForecastClicked ()
 Слот, що спрацьовує при натисканні кнопки "Розрахувати прогноз".
 
void onCloseClicked ()
 Слот для закриття поточного діалогового вікна.
 

Private Attributes

QTextEdit * output
 Текстове поле для відображення результатів прогнозу.
 
const Databasedb
 Посилання на базу даних для отримання історії транзакцій.
 

Detailed Description

Вікно для відображення фінансових прогнозів на основі наявних даних.

Використовує стратегію ковзного середнього для розрахунку майбутніх витрат та показує результат у текстовому полі.

Constructor & Destructor Documentation

◆ ForecastWindow()

ForecastWindow::ForecastWindow ( const Database db,
QWidget *  parent = nullptr 
)
explicit

Конструктор класу ForecastWindow.

Конструктор ForecastWindow.

Parameters
dbПосилання на базу даних (лише для читання), з якої беруться дані для прогнозу.
parentВказівник на батьківський віджет (зазвичай 0 або nullptr).

Ініціалізує елементи інтерфейсу: заголовок, текстове поле для виводу (output) та кнопки. Встановлює з'єднання сигналів та слотів.

Member Function Documentation

◆ onCloseClicked

void ForecastWindow::onCloseClicked ( )
privateslot

Слот для закриття поточного діалогового вікна.

Закриває діалогове вікно.

◆ onForecastClicked

void ForecastWindow::onForecastClicked ( )
privateslot

Слот, що спрацьовує при натисканні кнопки "Розрахувати прогноз".

Обробляє логіку генерації прогнозу при натисканні кнопки.

Запитує у користувача кількість днів, виконує розрахунок та виводить результат у 'output'.

  1. Перевіряє, чи є дані в базі.
  2. Відкриває QInputDialog, щоб отримати від користувача кількість транзакцій для аналізу (період ковзного середнього).
  3. Створює об'єкт стратегії (MovingAverageStrategy).
  4. Отримує історію транзакцій з БД.
  5. Викликає метод forecast() для отримання прогнозованого значення.
  6. Форматує та виводить результат у текстове поле 'output'.

Member Data Documentation

◆ db

const Database& ForecastWindow::db
private

Посилання на базу даних для отримання історії транзакцій.

◆ output

QTextEdit* ForecastWindow::output
private

Текстове поле для відображення результатів прогнозу.


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