Dev
This commit is contained in:
@@ -6,10 +6,25 @@ CCANViewerPage::CCANViewerPage(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::CCANViewerPage)
|
||||
{
|
||||
|
||||
mMsgList = 0;
|
||||
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->mCANDataTableWidget->setColumnCount(6);
|
||||
ui->mCANDataTableWidget->setHorizontalHeaderLabels(QStringList() << "Time" << "Channel" << "Msg ID" << "Msg Type" << "Msg Length" << "Data");
|
||||
|
||||
ui->mCANDataTableWidget->clearContents();
|
||||
ui->mCANDataTableWidget->setRowCount(0);
|
||||
ui->mCANDataTableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
|
||||
ui->mCANSignalTableWidget->setColumnCount(4);
|
||||
ui->mCANSignalTableWidget->setHorizontalHeaderLabels(QStringList() << "Nom du signal" << "Val. physique" << "Val. brute" << "Unités");
|
||||
|
||||
|
||||
|
||||
|
||||
connect(ui->mCANDataTableWidget,&QTableWidget::itemSelectionChanged,this,&CCANViewerPage::MessageSelectionChanged);
|
||||
}
|
||||
|
||||
CCANViewerPage::~CCANViewerPage()
|
||||
@@ -17,52 +32,167 @@ CCANViewerPage::~CCANViewerPage()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
int CCANViewerPage::UpdateCANTable(QList<CCANMessage *> MsgList)
|
||||
int CCANViewerPage::InitCANTable(QList<CCANMessage *> *MsgList)
|
||||
{
|
||||
for(int Col = 0; Col < ui->mCANDataTableWidget->columnCount(); Col++)
|
||||
if(MsgList == 0)
|
||||
{
|
||||
for(int Row = 0; Row < ui->mCANDataTableWidget->rowCount(); Row++)
|
||||
{
|
||||
delete ui->mCANDataTableWidget->item(Row,Col);
|
||||
}
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
ui->mCANDataTableWidget->clearContents();
|
||||
ui->mCANDataTableWidget->setRowCount(0);
|
||||
|
||||
ui->mCANDataTableWidget->setRowCount(MsgList.size());
|
||||
for(int Msg = 0; Msg < MsgList.size(); Msg++)
|
||||
mMsgList = MsgList;
|
||||
|
||||
int row = ui->mCANDataTableWidget->rowCount();
|
||||
ui->mCANDataTableWidget->setRowCount(MsgList->size());
|
||||
for(int Msg = 0; Msg < MsgList->size(); Msg++)
|
||||
{
|
||||
QTableWidgetItem *NewItem;
|
||||
|
||||
NewItem = new QTableWidgetItem("Time");
|
||||
ui->mCANDataTableWidget->setItem(Msg,0,NewItem);
|
||||
ui->mCANDataTableWidget->setItem(row,0,NewItem);
|
||||
|
||||
//Set chanel value
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(MsgList.at(Msg)->mCANChannel));
|
||||
ui->mCANDataTableWidget->setItem(Msg,1,NewItem);
|
||||
//Set Msg name
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(MsgList->at(Msg)->mCANMsgName));
|
||||
ui->mCANDataTableWidget->setItem(row,1,NewItem);
|
||||
|
||||
//Set message ID value
|
||||
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList.at(Msg)->mCANMsgID,0,16));
|
||||
ui->mCANDataTableWidget->setItem(Msg,2,NewItem);
|
||||
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList->at(Msg)->mCANMsgID,0,16));
|
||||
ui->mCANDataTableWidget->setItem(row,2,NewItem);
|
||||
NewItem->setData(Qt::UserRole,MsgList->at(Msg)->mCANMsgID); //Set message ID as reference to easily find the row when updating...
|
||||
|
||||
//Set message type value
|
||||
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList.at(Msg)->mCANMsgType,0,16));
|
||||
ui->mCANDataTableWidget->setItem(Msg,3,NewItem);
|
||||
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList->at(Msg)->mCANMsgType,0,16));
|
||||
ui->mCANDataTableWidget->setItem(row,3,NewItem);
|
||||
|
||||
//Set message length value
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(MsgList.at(Msg)->mCANMsgLength));
|
||||
ui->mCANDataTableWidget->setItem(Msg,4,NewItem);
|
||||
NewItem = new QTableWidgetItem(QString(" "));
|
||||
ui->mCANDataTableWidget->setItem(row,4,NewItem);
|
||||
|
||||
//Set data value
|
||||
QString Data;
|
||||
for(int i = 0; i < MsgList.at(Msg)->mCANMsgLength; i++)
|
||||
{
|
||||
unsigned char DataByte = MsgList.at(Msg)->mCANMsgData.at(i);
|
||||
Data.append(QString("%1 ").arg(DataByte,2,16,QLatin1Char('0')));
|
||||
}
|
||||
NewItem = new QTableWidgetItem(Data);
|
||||
ui->mCANDataTableWidget->setItem(Msg,5,NewItem);
|
||||
NewItem = new QTableWidgetItem(QString(" "));
|
||||
ui->mCANDataTableWidget->setItem(row,5,NewItem);
|
||||
|
||||
row++;
|
||||
|
||||
|
||||
|
||||
// //Set data value
|
||||
// QString Data;
|
||||
// for(unsigned int i = 0; i < MsgList->at(Msg)->mCANMsgLength; i++)
|
||||
// {
|
||||
// unsigned char DataByte = MsgList->at(Msg)->mCANMsgData.at(i);
|
||||
// Data.append(QString("%1 ").arg(DataByte,2,16,QLatin1Char('0')));
|
||||
// }
|
||||
// NewItem = new QTableWidgetItem(Data);
|
||||
// ui->mCANDataTableWidget->setItem(Msg,5,NewItem);
|
||||
}
|
||||
// ui->mCANSignalTableWidget->setCurrentItem(ui->mCANDataTableWidget->item(0,0));
|
||||
// MessageSelectionChanged();
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CCANViewerPage::UpdateCANTable(QList<CCANMessage *> *MsgList)
|
||||
{
|
||||
//Find the row of each message and update values in table
|
||||
for(int msg = 0; msg < MsgList->size(); msg++)
|
||||
{
|
||||
int row = 0;
|
||||
for(row = 0; row < ui->mCANDataTableWidget->rowCount(); row++)
|
||||
{
|
||||
// if(ui->mCANDataTableWidget->item(row,2)->text() == QString("0x%1").arg(MsgList->at(msg)->mCANMsgID,0,16))
|
||||
if(ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt() == MsgList->at(msg)->mCANMsgID)
|
||||
{
|
||||
//Set message length value
|
||||
ui->mCANDataTableWidget->item(row,4)->setText(QString("%1").arg(MsgList->at(msg)->mCANMsgLength));
|
||||
|
||||
|
||||
QString Data;
|
||||
for(int byte = 0; byte < MsgList->at(msg)->mCANMsgData.size();byte++)
|
||||
{
|
||||
// Data.append(QString("%1 ").arg((unsigned int)MsgList->at(msg)->mCANMsgData.at(byte),2,16));
|
||||
Data.append(QString().sprintf("%.2X ",(unsigned char)MsgList->at(msg)->mCANMsgData.at(byte)));
|
||||
}
|
||||
ui->mCANDataTableWidget->item(row,5)->setText(Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
// UpdateSignalsTable();
|
||||
MessageSelectionChanged();
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CCANViewerPage::MessageSelectionChanged()
|
||||
{
|
||||
if(mMsgList == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ui->mCANSignalTableWidget->clearContents();
|
||||
//Find message based on current table selection
|
||||
int row = ui->mCANDataTableWidget->currentRow();
|
||||
if(row == -1)
|
||||
return;
|
||||
for (int msg = 0; msg < mMsgList->size(); msg++)
|
||||
{
|
||||
unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
|
||||
if(ID == mMsgList->at(msg)->mCANMsgID)
|
||||
{
|
||||
CCANMessage *Msg = mMsgList->at(msg);
|
||||
ui->mCANSignalTableWidget->clearContents();
|
||||
ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
|
||||
|
||||
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
|
||||
{
|
||||
//Signal name
|
||||
QTableWidgetItem *NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal)->mSignalName);
|
||||
ui->mCANSignalTableWidget->setItem(signal,0,NewItem);
|
||||
|
||||
//Phys value
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal)->mPhysicalValue,0,'f',1));
|
||||
ui->mCANSignalTableWidget->setItem(signal,1,NewItem);
|
||||
|
||||
//Raw value
|
||||
NewItem = new QTableWidgetItem(QString("0x%1").arg(Msg->mSignalsList.at(signal)->mRawValue,0,16));
|
||||
ui->mCANSignalTableWidget->setItem(signal,2,NewItem);
|
||||
|
||||
//Units
|
||||
NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal)->mSignalUnit);
|
||||
ui->mCANSignalTableWidget->setItem(signal,3,NewItem);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int CCANViewerPage::UpdateSignalsTable()
|
||||
{
|
||||
int row = ui->mCANDataTableWidget->currentRow();
|
||||
for (int msg = 0; msg < mMsgList->size(); msg++)
|
||||
{
|
||||
unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
|
||||
if(ID == mMsgList->at(msg)->mCANMsgID)
|
||||
{
|
||||
CCANMessage *Msg = mMsgList->at(msg);
|
||||
ui->mCANSignalTableWidget->clearContents();
|
||||
ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
|
||||
|
||||
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
|
||||
{
|
||||
//Signal name
|
||||
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal)->mSignalName);
|
||||
|
||||
//Phys value
|
||||
ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg(Msg->mSignalsList.at(signal)->mPhysicalValue,0,'f',1));
|
||||
|
||||
//Raw value
|
||||
ui->mCANSignalTableWidget->item(row,0)->setText(QString("0x%1").arg(Msg->mSignalsList.at(signal)->mRawValue,0,16));
|
||||
|
||||
//Units
|
||||
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal)->mSignalUnit);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,15 @@ public:
|
||||
~CCANViewerPage();
|
||||
|
||||
|
||||
int UpdateCANTable(QList<CCANMessage*> MsgList);
|
||||
int UpdateCANTable(QList<CCANMessage*> *MsgList);
|
||||
int InitCANTable(QList<CCANMessage*> *MsgList);
|
||||
int UpdateSignalsTable();
|
||||
|
||||
|
||||
QList<CCANMessage*> *mMsgList;
|
||||
|
||||
public slots:
|
||||
void MessageSelectionChanged();
|
||||
|
||||
private:
|
||||
Ui::CCANViewerPage *ui;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1140</width>
|
||||
<width>1848</width>
|
||||
<height>581</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -18,7 +18,7 @@
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>60</y>
|
||||
<width>1051</width>
|
||||
<width>671</width>
|
||||
<height>411</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -36,6 +36,16 @@
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTableWidget" name="mCANSignalTableWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>720</x>
|
||||
<y>60</y>
|
||||
<width>831</width>
|
||||
<height>411</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@@ -22,6 +22,14 @@
|
||||
<height>451</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>System</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
#include "ui_ProgramSettingsPage.h"
|
||||
|
||||
#include "CANDevice.h"
|
||||
//#include "CANMessage.h"
|
||||
//#include "CANSignal.h"
|
||||
//#include "PCANBasic.h"
|
||||
#include "OtarcikCan.h"
|
||||
|
||||
|
||||
CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
@@ -13,11 +11,13 @@ CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
mProgramPtr = 0;
|
||||
mDevicesList = 0;
|
||||
|
||||
ui->mDBSignalDetailsTable->setColumnCount(10);
|
||||
ui->mDBSignalDetailsTable->setHorizontalHeaderLabels(QStringList() << "Signal" << "Bit No" << "Length" << "Type" << "Max Val" << "Min Val" << "Offset" << "Scale factor" << "Unit" << "Byte order");
|
||||
|
||||
ui->mDevicePollPeriodSpinBx->setRange(200,60000);
|
||||
|
||||
|
||||
ui->mCANBaudrateComboBx->clear();
|
||||
@@ -59,10 +59,14 @@ CProgramSettingsPage::CProgramSettingsPage(QWidget *parent) :
|
||||
ui->mDatabaseFileSelectBtn->hide();
|
||||
ui->mCANBaudrateComboBx->setEnabled(false);
|
||||
ui->mCANIDComboBx->setEnabled(false);
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
|
||||
|
||||
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->mDBSignalDetailsTable,&QTableWidget::itemSelectionChanged,this,&CProgramSettingsPage::SignalSelectionChanged);
|
||||
|
||||
}
|
||||
@@ -128,6 +132,9 @@ int CProgramSettingsPage::UpdatePage()
|
||||
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);
|
||||
|
||||
//update device database information
|
||||
ui->mDBMessagesListWidget->clear();
|
||||
@@ -208,15 +215,42 @@ int CProgramSettingsPage::UpdateMessageInformation()
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,2,NewItem);
|
||||
|
||||
//Type
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mValueType));
|
||||
switch(Signal->mValueType)
|
||||
{
|
||||
case CCANSignal::CAN_SIGNAL_TYPE_INVALID:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("INVALIDE"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("int"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("uint"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_TYPE_32_BIT_FLOAT:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("Float_32"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_TYPE_64_BIT_DOUBLE:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("Double"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,3,NewItem);
|
||||
|
||||
//Max Val
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMaxValue,0,'f',1));
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMaxValue));
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,4,NewItem);
|
||||
|
||||
//Min Val
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMinValue,0,'f',1));
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMinValue));
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,5,NewItem);
|
||||
|
||||
//Offset
|
||||
@@ -232,7 +266,26 @@ int CProgramSettingsPage::UpdateMessageInformation()
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,8,NewItem);
|
||||
|
||||
//Endian
|
||||
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mValueType));
|
||||
switch(Signal->mEncoding)
|
||||
{
|
||||
case CCANSignal::CAN_SIGNAL_ENCODING_INTEL:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("Intel"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_ENCODING_MOTOROLA:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("Motorola"));
|
||||
break;
|
||||
}
|
||||
case CCANSignal::CAN_SIGNAL_ENCODING_INVALID:
|
||||
{
|
||||
NewItem = new QTableWidgetItem(QString("INVALID"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ui->mDBSignalDetailsTable->setItem(Sig,9,NewItem);
|
||||
|
||||
}
|
||||
@@ -259,22 +312,47 @@ void CProgramSettingsPage::ModifyDeviceBtnPressed()
|
||||
{
|
||||
if(mDeviceChangeModeEnabled)
|
||||
{
|
||||
//Save Data
|
||||
ui->mDeviceDescriptionTxtEdit->setEnabled(false);
|
||||
ui->mDatabaseFileSelectBtn->hide();
|
||||
ui->mCANBaudrateComboBx->setEnabled(false);
|
||||
ui->mCANIDComboBx->setEnabled(false);
|
||||
ui->mDevicesList->setEnabled(true);
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mModifyDevParamsBtn->setText("Modifier");
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
mDeviceChangeModeEnabled = false;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Modify data
|
||||
ui->mDeviceDescriptionTxtEdit->setEnabled(true);
|
||||
ui->mDatabaseFileSelectBtn->show();
|
||||
ui->mCANBaudrateComboBx->setEnabled(true);
|
||||
ui->mCANIDComboBx->setEnabled(true);
|
||||
ui->mDevicesList->setEnabled(false);
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(true);
|
||||
ui->mModifyDevParamsBtn->setText("Sauvegarder");
|
||||
ui->mCancelModifyParamsBtn->show();
|
||||
|
||||
mDeviceChangeModeEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void CProgramSettingsPage::CancelModifyDevBtnPressed()
|
||||
{
|
||||
ui->mDeviceDescriptionTxtEdit->setEnabled(false);
|
||||
ui->mDatabaseFileSelectBtn->hide();
|
||||
ui->mCANBaudrateComboBx->setEnabled(false);
|
||||
ui->mCANIDComboBx->setEnabled(false);
|
||||
ui->mDevicesList->setEnabled(true);
|
||||
ui->mDevicePollPeriodSpinBx->setEnabled(false);
|
||||
ui->mModifyDevParamsBtn->setText("Modifier");
|
||||
ui->mCancelModifyParamsBtn->hide();
|
||||
mDeviceChangeModeEnabled = false;
|
||||
|
||||
UpdatePage();
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
class CCANDevice;
|
||||
class CCANMessage;
|
||||
class CCANSignal;
|
||||
class COtarcikCan;
|
||||
|
||||
|
||||
namespace Ui {
|
||||
@@ -26,6 +27,8 @@ public:
|
||||
int UpdateMessageInformation();
|
||||
|
||||
|
||||
COtarcikCan *mProgramPtr;
|
||||
|
||||
private:
|
||||
Ui::CProgramSettingsPage *ui;
|
||||
QList<CCANDevice *> *mDevicesList;
|
||||
@@ -36,6 +39,7 @@ public slots:
|
||||
void SignalSelectionChanged();
|
||||
void MessageSelectionChanged();
|
||||
void ModifyDeviceBtnPressed();
|
||||
void CancelModifyDevBtnPressed();
|
||||
};
|
||||
|
||||
#endif // PROGRAMSETTINGSPAGE_H
|
||||
|
||||
@@ -57,10 +57,10 @@
|
||||
<widget class="QGroupBox" name="mDeviceParamsGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>280</x>
|
||||
<x>270</x>
|
||||
<y>100</y>
|
||||
<width>311</width>
|
||||
<height>331</height>
|
||||
<width>321</width>
|
||||
<height>371</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
@@ -128,60 +128,11 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mDeviceDatabaseLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>111</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Fichier database:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mDatabaseFileNameLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>120</y>
|
||||
<width>301</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Fichier...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mDatabaseFileSelectBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>280</x>
|
||||
<y>120</y>
|
||||
<width>31</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mModifyDevParamsBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>300</y>
|
||||
<x>220</x>
|
||||
<y>330</y>
|
||||
<width>80</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@@ -194,23 +145,115 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>180</y>
|
||||
<y>210</y>
|
||||
<width>291</width>
|
||||
<height>101</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="mRefreshRateLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>182</y>
|
||||
<width>181</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Période rafraîchissement (ms):</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="mDeviceDatabaseGrpBx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>301</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Base de données</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="mDatabaseFileNameLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>27</y>
|
||||
<width>301</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Fichier...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mDatabaseFileSelectBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>270</x>
|
||||
<y>24</y>
|
||||
<width>31</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mCANBaudrateLbl_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>160</y>
|
||||
<width>81</width>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Description</string>
|
||||
<string>CAN Baudrate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="mDevicePollPeriodSpinBx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<y>180</y>
|
||||
<width>91</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mCancelModifyParamsBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>330</y>
|
||||
<width>80</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Annuler</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
Reference in New Issue
Block a user