Files
BionxControl/main.cpp

128 lines
3.2 KiB
C++

/***************************************************************************
BionxControl
Copyright © 2025 christoph holzheuer
christoph.holzheuer@gmail.com
Using:
BigXionFlasher USB V 0.2.4 rev. 97
© 2011-2013 by Thomas Koenig <info@bigxionflasher.org>
@see www.bigxionflasher.org
Bionx Bike Info
© 2018 Thorsten Schmidt (tschmidt@ts-soft.de)
@see www.ts-soft.de
mhs_can_drv.c 3.00
© 2011 - 2015 by MHS-Elektronik GmbH & Co. KG, Germany
Demlehner Klaus, info@mhs-elektronik.de
@see www.mhs-elektronik.de
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
@see https://github.com/bikemike/bionx-bikeinfo
***************************************************************************/
#include <QApplication>
#include <QMetaEnum>
#include <QFile>
// main.cpp
#include <QCoreApplication>
#include <QTimer>
#include <QDebug>
#include <bcmainwindow.h>
#include <bcvalue.h>
#include <bcvaluemanager.h>
/*
#include <QMetaEnum>
void parseString(const QString &inputString) {
QMetaEnum metaEnum = QMetaEnum::fromType<BCValue::ID>();
bool ok = false;
// keyToValue parst den String ("x1") und liefert den int-Wert
int intVal = metaEnum.keyToValue(inputString.toLatin1().constData(), &ok);
if (ok) {
BCValue::ID id = static_cast<BCValue::ID>(intVal);
// Erfolg!
} else {
// Fehler: String existiert nicht im Enum
qWarning() << "Unbekannter Enum String:" << inputString;
}
}
*/
#include <QThread>
bool setApplicationStyleSheet( QAnyStringView path )
{
QFile styleFile( path.toString() );
if (styleFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString style = styleFile.readAll();
qApp->setStyleSheet(style);
styleFile.close();
return true;
}
qWarning() << "Konnte Stylesheet nicht laden:" << styleFile.errorString();
return true;
}
// 2. Datei öffnen und lesen
int main(int argc, char *argv[])
{
auto x = BC::ID::Motor_Status_Main;
enum class Color : uint8_t { Red, Green, Blue };
QMap<Color, QString> map;
map.insert(Color::Red, QStringLiteral("rot"));
map[Color::Green] = QStringLiteral("grün");
qDebug() << " --- sach bloss das geht: " << x << " ui: " << uint8_t(x) << " : " << map[Color::Red];
QApplication app(argc, argv);
setApplicationStyleSheet( ":/BionxControl.qss"_L1 );
QMetaEnum metaEnum = QMetaEnum::fromType<BC::ID>();
bool ok = false;
QString inputString = "x3";
BC::ID yyy{};
// keyToValue parst den String ("x1") und liefert den int-Wert
int intVal = metaEnum.keyToValue(inputString.toLatin1().constData(), &ok);
if (ok)
yyy = static_cast<BC::ID>(intVal);
auto xxx = BC::ID::Battery_Config_Force_Done;
//QString result = fullString.section("::", -1);
qDebug() << " schön: " << xxx << " -- " << uint8_t(xxx) << " : " << yyy;
qDebug() << " nice: " << metaEnum.enumName() << " : " <<metaEnum.name() << ": " << metaEnum.enclosingMetaObject()->className();
//BCValueManager myMgr;
//myMgr.loadXml();
BCMainWindow w;
w.show();
return app.exec();
}