Files
BionxControl/bcmainwindow.cpp

81 lines
2.4 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 <bcmainwindow.h>
#include <bcitemdelegate.h>
#include <ui_bcmainwindow.h>
BCMainWindow::BCMainWindow(QWidget *parent)
: QMainWindow(parent)
{
setupUi(this);
_motorlButton->setDefaultAction( _actionMotor);
_valueManager.loadBikeData();
auto model = _valueManager.getModel( BCDevice::ID::Console );
if( model)
_valueView->setModel( *model );
BCItemDelegate* _delegate = new BCItemDelegate( _valueView);
//_delegate = new AnimatedDelegate(_valueView );
_valueView->setItemDelegate( _delegate );
// Verwendung:
connect(_delegate, &BCItemDelegate::viewUpdateNeeded, _valueView->viewport(), QOverload<>::of(&QWidget::update));
//_valueView->setItemDelegate(_delegate);
// Highlight mit Fade-Out:
//_delegate->onHighlightRow(2); // 2 Sekunden Fade
BCTransmitter* transmitter = _valueManager.getTransmitter();
// besser: model::emit dataChanged
// also: emit dataChanged(index, index, {Qt::DisplayRole, Qt::EditRole, ValueRole});
connect( &_valueManager, &BCDataManager::valueTouched, _delegate, &BCItemDelegate::onHighlightRow );
connect( _connectButton, &QPushButton::clicked, transmitter, &BCTransmitter::onToggleConnectionState );
connect( _syncButton, &QPushButton::clicked, &_valueManager, &BCDataManager::onSyncFromDevice );
}
BCMainWindow::~BCMainWindow()
{
}
void BCMainWindow::onConnectButtonToggled(bool checked )
{
//_valueManager.setDriverConnectionState( checked );
}