|
Lab1
|
Модель даних для однієї нотатки. More...
#include <note.h>
Public Member Functions | |
| Note (const QString &title, int schemaId) | |
| Конструктор класу Note. | |
| void | addField (const QString &name, const QString &value) |
| Додає нове поле з даними до нотатки. | |
| QString | getTitle () const |
| Повертає назву нотатки. | |
| int | getSchemaId () const |
| Повертає ID схеми, до якої належить нотатка. | |
| const QMap< QString, QString > & | getFields () const |
| Повертає мапу всіх полів та їх значень. | |
| QDateTime | getCreationDate () const |
| Повертає дату та час створення нотатки. | |
| void | addTag (const QString &tag) |
| Додає один новий тег до нотатки. | |
| const QSet< QString > & | getTags () const |
| Повертає набір усіх тегів, що належать до нотатки. | |
| void | setTags (const QSet< QString > &tags) |
| Повністю замінює набір тегів нотатки. | |
| void | setTitle (const QString &title) |
| Встановлює нову назву для нотатки. | |
| void | setImage (const QString &base64Image) |
| Зберігає зображення у нотатці. | |
| QString | getImage () const |
| Отримує збережене зображення. | |
| bool | isPinned () const |
| Перевіряє, чи є нотатка "Закріпленою" (Вибраною). | |
| void | setPinned (bool pinned) |
| Встановлює статус закріплення нотатки. | |
| void | setCreationDate (const QDateTime &date) |
| Встановлює дату створення нотатки. | |
Модель даних для однієї нотатки.
Цей клас є основним контейнером даних. Він зберігає всю інформацію, що стосується однієї нотатки: її заголовок, прив'язку до схеми (шаблону), динамічні поля з даними, теги, дату створення.
Також клас підтримує розширені можливості:
| Note::Note | ( | const QString & | title, |
| int | schemaId | ||
| ) |
Конструктор класу Note.
| title | Назва (заголовок) нової нотатки. |
| schemaId | Ідентифікатор (індекс) схеми, за якою створюється нотатка. |
| void Note::addField | ( | const QString & | name, |
| const QString & | value | ||
| ) |
Додає нове поле з даними до нотатки.
| name | Назва поля (має відповідати назві поля у схемі, наприклад "Інгредієнти"). |
| value | Значення, яке ввів користувач (наприклад, "Картопля, морква"). |
| void Note::addTag | ( | const QString & | tag | ) |
Додає один новий тег до нотатки.
| tag | Текст тега для додавання (наприклад, "важливо"). |
| QDateTime Note::getCreationDate | ( | ) | const |
Повертає дату та час створення нотатки.
| const QMap< QString, QString > & Note::getFields | ( | ) | const |
Повертає мапу всіх полів та їх значень.
| QString Note::getImage | ( | ) | const |
Отримує збережене зображення.
Повертає рядок у форматі Base64. Для відображення в інтерфейсі цей рядок необхідно декодувати назад у QByteArray і завантажити в QPixmap. Якщо зображення не було встановлено, повертає порожній рядок.
| int Note::getSchemaId | ( | ) | const |
Повертає ID схеми, до якої належить нотатка.
| const QSet< QString > & Note::getTags | ( | ) | const |
Повертає набір усіх тегів, що належать до нотатки.
| QString Note::getTitle | ( | ) | const |
Повертає назву нотатки.
| bool Note::isPinned | ( | ) | const |
Перевіряє, чи є нотатка "Закріпленою" (Вибраною).
Закріплені нотатки мають пріоритет при сортуванні (відображаються зверху списку) і позначаються спеціальною іконкою (зірочкою) в інтерфейсі.
| void Note::setCreationDate | ( | const QDateTime & | date | ) |
Встановлює дату створення нотатки.
Використовується переважно для десеріалізації (завантаження з JSON) та тестування.
| date | Нова дата та час створення. |
| void Note::setImage | ( | const QString & | base64Image | ) |
Зберігає зображення у нотатці.
Зображення зберігається не як файл на диску, а як закодований текстовий рядок у форматі Base64. Це дозволяє зберігати картинку безпосередньо всередині JSON-файлу бази даних разом з текстом (Embedded Image).
| base64Image | Рядок, що містить бінарні дані зображення, закодовані в Base64. |
| void Note::setPinned | ( | bool | pinned | ) |
Встановлює статус закріплення нотатки.
Зміна цього статусу впливає на порядок сортування нотаток у головному списку.
| pinned | true для закріплення, false для відкріплення. |
| void Note::setTags | ( | const QSet< QString > & | tags | ) |
Повністю замінює набір тегів нотатки.
| tags | Новий набір тегів (QSet). |
| void Note::setTitle | ( | const QString & | title | ) |
Встановлює нову назву для нотатки.
| title | Новий рядок заголовка. |