Développement program settings
This commit is contained in:
@@ -63,6 +63,10 @@ int CGeneralStatusPage::AddColoredLineToGenMsgBox(QString Line)
|
||||
{
|
||||
ui->mGenMsgTextEdit->setTextColor(Qt::blue);
|
||||
}
|
||||
else if(Line.at(1) == QChar('S')) //The line is describing a warning... write it yellow
|
||||
{
|
||||
ui->mGenMsgTextEdit->setTextColor(Qt::darkGreen);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GeneralStatusPage: Logic error in general message box line encoding... you should check into that");
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "CANDevice.h"
|
||||
#include "OtarcikCan.h"
|
||||
#include <QFileDialog>
|
||||
#include <QFileInfo>
|
||||
|
||||
|
||||
CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
@@ -13,6 +15,7 @@ CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
|
||||
mProgramPtr = 0;
|
||||
mDevicesList = 0;
|
||||
mDeviceChangeModeEnabled = false;
|
||||
|
||||
ui->mDBSignalDetailsTable->setColumnCount(10);
|
||||
ui->mDBSignalDetailsTable->setHorizontalHeaderLabels(QStringList() << "Signal" << "Bit No" << "Length" << "Type" << "Max Val" << "Min Val" << "Offset" << "Scale factor" << "Unit" << "Byte order");
|
||||
@@ -61,12 +64,15 @@ CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
ui->mCANIDComboBx->setEnabled(false);
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
ui->mDeviceNameEditBx->setEnabled(false);
|
||||
|
||||
|
||||
connect(ui->mDevicesList,&QListWidget::itemSelectionChanged,this,&CProgramSettingsPage::DeviceSelectionChanged);
|
||||
connect(ui->mDBMessagesListWidget,&QListWidget::itemSelectionChanged,this,&CProgramSettingsPage::MessageSelectionChanged);
|
||||
connect(ui->mModifyDevParamsBtn,&QPushButton::clicked,this,&CProgramSettingsPage::ModifyDeviceBtnPressed);
|
||||
connect(ui->mCancelModifyParamsBtn,&QPushButton::clicked,this,&CProgramSettingsPage::CancelModifyDevBtnPressed);
|
||||
connect(ui->mDatabaseFileSelectBtn,&QPushButton::clicked,this,&CProgramSettingsPage::SelectDBFileBtnPressed);
|
||||
|
||||
// connect(ui->mDBSignalDetailsTable,&QTableWidget::itemSelectionChanged,this,&CProgramSettingsPage::SignalSelectionChanged);
|
||||
|
||||
}
|
||||
@@ -127,15 +133,20 @@ int CProgramSettingsPage::UpdatePage()
|
||||
|
||||
if(Device != 0)
|
||||
{
|
||||
//Update device name in the list (it might have just changed)
|
||||
ui->mDevicesList->item(ui->mDevicesList->currentRow())->setText(Device->mDeviceName);
|
||||
//update device information
|
||||
ui->mDeviceNameEditBx->setPlainText(Device->mDeviceName);
|
||||
ui->mCANBaudrateComboBx->setCurrentIndex(ui->mCANBaudrateComboBx->findData(Device->mCANDeviceBaudrate));
|
||||
ui->mCANIDComboBx->setCurrentIndex(ui->mCANIDComboBx->findData(Device->mCANDeviceID));
|
||||
ui->mDeviceDescriptionTxtEdit->setPlainText(Device->mDeviceDescription);
|
||||
ui->mDatabaseFileNameLbl->setText(QString("Database: %1").arg(Device->mCANDeviceDatabaseFilename));
|
||||
// ui->mDevicePollPeriodSpinBx->setEnabled(true);
|
||||
ui->mDevicePollPeriodSpinBx->setValue(Device->mDevicePollPeriod);
|
||||
// ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
|
||||
QFileInfo FileInfo(Device->mCANDeviceDatabaseFilename);
|
||||
ui->mDatabaseFileNameLbl->setText(FileInfo.fileName());
|
||||
ui->mDatabaseFileNameLbl->setToolTip(Device->mCANDeviceDatabaseFilename);
|
||||
// ui->mDatabaseFileNameLbl->setText(QString("%1").arg(Device->mCANDeviceDatabaseFilename));
|
||||
|
||||
ui->mDevicePollPeriodSpinBx->setValue(Device->mDevicePollPeriod);
|
||||
//update device database information
|
||||
ui->mDBMessagesListWidget->clear();
|
||||
ui->mDBSignalDetailsTable->clearContents();
|
||||
@@ -313,6 +324,24 @@ void CProgramSettingsPage::ModifyDeviceBtnPressed()
|
||||
if(mDeviceChangeModeEnabled)
|
||||
{
|
||||
//Save Data
|
||||
|
||||
int index = ui->mDevicesList->currentRow();
|
||||
if(index >= 0 && index < mDevicesList->size())
|
||||
{
|
||||
CCANDevice *ModifiedDevice = mDevicesList->at(index);
|
||||
|
||||
ModifiedDevice->mCANDeviceBaudrate = ui->mCANBaudrateComboBx->currentData().toInt();
|
||||
ModifiedDevice->mCANDeviceID = ui->mCANIDComboBx->currentData().toInt();
|
||||
ModifiedDevice->mCANDeviceDatabaseFilename = ui->mDatabaseFileNameLbl->toolTip(); //The full path is stored in the tooltip!
|
||||
ModifiedDevice->mDeviceDescription = ui->mDeviceDescriptionTxtEdit->toPlainText();
|
||||
ModifiedDevice->mDeviceName = ui->mDeviceNameEditBx->toPlainText();
|
||||
ModifiedDevice->mDevicePollPeriod = ui->mDevicePollPeriodSpinBx->value();
|
||||
|
||||
mProgramPtr->SaveSystemConfigRequest();
|
||||
}
|
||||
|
||||
|
||||
|
||||
ui->mDeviceDescriptionTxtEdit->setEnabled(false);
|
||||
ui->mDatabaseFileSelectBtn->hide();
|
||||
ui->mCANBaudrateComboBx->setEnabled(false);
|
||||
@@ -321,9 +350,11 @@ void CProgramSettingsPage::ModifyDeviceBtnPressed()
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mModifyDevParamsBtn->setText("Modifier");
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
ui->mDeviceNameEditBx->setEnabled(false);
|
||||
mDeviceChangeModeEnabled = false;
|
||||
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -336,6 +367,7 @@ void CProgramSettingsPage::ModifyDeviceBtnPressed()
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(true);
|
||||
ui->mModifyDevParamsBtn->setText("Sauvegarder");
|
||||
ui->mCancelModifyParamsBtn->show();
|
||||
ui->mDeviceNameEditBx->setEnabled(true);
|
||||
|
||||
mDeviceChangeModeEnabled = true;
|
||||
}
|
||||
@@ -351,8 +383,24 @@ void CProgramSettingsPage::CancelModifyDevBtnPressed()
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mModifyDevParamsBtn->setText("Modifier");
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
ui->mDeviceNameEditBx->setEnabled(false);
|
||||
mDeviceChangeModeEnabled = false;
|
||||
|
||||
UpdatePage();
|
||||
|
||||
}
|
||||
|
||||
void CProgramSettingsPage::SelectDBFileBtnPressed()
|
||||
{
|
||||
QString FileName;
|
||||
FileName = QFileDialog::getOpenFileName(this,tr("Fichier database"), "./", tr("Fichiers dbc (*.dbc)"));
|
||||
|
||||
if(!FileName.isEmpty())
|
||||
{
|
||||
QFileInfo FileInfo(FileName);
|
||||
|
||||
ui->mDatabaseFileNameLbl->setText(FileInfo.fileName());
|
||||
ui->mDatabaseFileNameLbl->setToolTip(FileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ public slots:
|
||||
void MessageSelectionChanged();
|
||||
void ModifyDeviceBtnPressed();
|
||||
void CancelModifyDevBtnPressed();
|
||||
void SelectDBFileBtnPressed();
|
||||
};
|
||||
|
||||
#endif // PROGRAMSETTINGSPAGE_H
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>40</y>
|
||||
<y>60</y>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
@@ -91,7 +91,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>39</y>
|
||||
<y>59</y>
|
||||
<width>131</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
@@ -101,7 +101,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>70</y>
|
||||
<y>90</y>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
@@ -122,7 +122,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>70</y>
|
||||
<y>90</y>
|
||||
<width>131</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@@ -173,20 +173,20 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<y>120</y>
|
||||
<width>301</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Base de données</string>
|
||||
<string>Fichier base de données</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="mDatabaseFileNameLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>27</y>
|
||||
<width>301</width>
|
||||
<x>10</x>
|
||||
<y>26</y>
|
||||
<width>291</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -215,24 +215,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mCANBaudrateLbl_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>160</y>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>CAN Baudrate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="mDevicePollPeriodSpinBx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
@@ -256,6 +238,21 @@
|
||||
<string>Annuler</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="mDeviceNameEditBx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>13</x>
|
||||
<y>23</y>
|
||||
<width>281</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="mDatabaseGroupBox">
|
||||
<property name="geometry">
|
||||
|
||||
Reference in New Issue
Block a user