Документация для разработчиков
Для расширения ПО под ваши предложения следует прочитать мини-документацию или написать создателю: @NiyazyanGerman
Основные классы для разработки
1. Класс LogicOperation
Один из основных классов, в котором реализуется вся работа "за кулисами".
Важно: Ни в коем случае не работаем с UI элементами напрямую. Для этого есть buildform.
Там реализуем логику взаимодействия с интерфейсом.
2. Класс Validator
Класс для работы с проверками технических элементов ПО.
Реализует связи между UI и backend, а также проверки данных.
3. Класс Logger
Класс для логгирования работы вашего кода в файлы любого расширения.
Поддерживает метод: write(const std::string_view& msg)
// Формат выходных данных: дата сообщение
// Пример использования:
logger << "Текст сообщения";
logger << currPath;
Ограничение: Логгер не поддерживает копирование и присваивание.
Создание логгера:
// Конструктор закрыт, используем статический метод
std::shared_ptr<Log> logger = Log::create(FileName);
4. Класс JSonKeys
Класс для работы с ключами и данными, которые предоставляют выбор или часто используются.
Например: организация для реестра, ключи для JSON, данные для комбобоксов.
5. Класс SerializerData
Класс для сохранения настроек в реестр Windows.
Для работы необходимо понимать основы сериализации и класс QSettings.
Ссылка на документацию: QSettings Documentation
Класс SerializerData имеет помощников:
SettingsBinderValidatorLogicOperation
Там мы реализуем соединения между компонентами.
Пример использования SettingsBinder:
void SettingsBinder::ConnectionsContest(QLineEdit* line, const QString& org,
const QString& app, const QString& key)
{
QObject::connect(line, &QLineEdit::textChanged, this, [org, app, key](const QString& text){
QSettings settings(org, app);
settings.setValue(key, text);
});
}
Рекомендация: Не стоит передавать ORG напрямую, используйте класс JSonKeys:
SerelizationData::ORG_NAME