Files
BionxControl/bcdevicepanel.cpp

106 lines
2.5 KiB
C++
Raw Normal View History

2025-12-26 23:10:53 +01:00
/***************************************************************************
BionxControl
Copyright © 2025 christoph holzheuer
christoph.holzheuer@gmail.com
Using:
mhs_can_drv.c
© 2011 - 2023 by MHS-Elektronik GmbH & Co. KG, Germany
Klaus Demlehner, klaus@mhs-elektronik.de
@see www.mhs-elektronik.de
Based on Bionx data type descriptions from:
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
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 <bcdevicepanel.h>
2025-12-29 20:10:05 +01:00
#include <bcitemdelegate.h>
2025-12-26 23:10:53 +01:00
BCDevicePanel::BCDevicePanel(QWidget *parent)
: QWidget(parent)
{
setupUi(this);
2025-12-27 18:43:15 +01:00
_valueView->setModel( &_valueModel );
2025-12-29 00:04:15 +01:00
//_valueView->resizeColumnsToContents();
2025-12-29 15:44:06 +01:00
//_valueView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
2025-12-29 20:10:05 +01:00
// __fix! ziemlich wildes ge-pointere, hier
_itemDelegate = new BCItemDelegate( _valueModel.getValueList(), _valueView);
_valueView->setItemDelegate( _itemDelegate );
2025-12-26 23:10:53 +01:00
}
void BCDevicePanel::setHeaderText( const QString& headerText)
{
_headerLabel->setText( headerText );
}
2025-12-27 19:49:41 +01:00
QString BCDevicePanel::getHeaderText() const
2025-12-26 23:10:53 +01:00
{
return _headerLabel->text();
}
2025-12-27 19:49:41 +01:00
void BCDevicePanel::setDeviceID( BCDevice::ID deviceID )
{
_devideID = deviceID;
}
2025-12-29 00:04:15 +01:00
2025-12-27 19:49:41 +01:00
BCDevice::ID BCDevicePanel::getDeviceID() const
{
return _devideID;
}
2025-12-26 23:10:53 +01:00
QTableView* BCDevicePanel::getValueView()
{
return _valueView;
2025-12-27 18:43:15 +01:00
}
2025-12-28 22:48:18 +01:00
const BCValueList& BCDevicePanel::getValueListX()
2025-12-28 14:42:12 +01:00
{
return _valueModel.getValueList();
}
2025-12-29 20:10:05 +01:00
/*
2025-12-28 22:48:18 +01:00
BCValueModel& BCDevicePanel::getValueModel()
{
return _valueModel;
}
2025-12-29 20:10:05 +01:00
*/
2025-12-28 22:48:18 +01:00
// __FIX ist das ok so?
2025-12-27 18:43:15 +01:00
void BCDevicePanel::onValueListReady( BCDevice::ID deviceID, BCValueList valueList )
{
qDebug() << " --- onValueListReady: " << getHeaderText() <<" : " << deviceID << ": " << valueList.size();
2025-12-27 19:49:41 +01:00
if(_devideID == deviceID)
2025-12-28 14:42:12 +01:00
_valueModel.takeValueList( valueList );
2025-12-26 23:10:53 +01:00
}
2025-12-29 20:10:05 +01:00
void BCDevicePanel::onValueUpdated(int index, BC::State state, const QString& newVisibleValue )
{
_valueModel.onValueUpdated( index,state,newVisibleValue);
_itemDelegate->onHighlightRow( index );
}
2025-12-28 22:48:18 +01:00