Skip to content

Commit

Permalink
Changes to the ParameterView, so it now operates properly based off i…
Browse files Browse the repository at this point in the history
…ncoming ConfigData rather than ConfigBlocks
  • Loading branch information
malcom2073 committed Jan 29, 2014
1 parent ae9404c commit 01c6541
Show file tree
Hide file tree
Showing 16 changed files with 370 additions and 43 deletions.
13 changes: 10 additions & 3 deletions core/core.pro
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,9 @@ SOURCES += src/main.cpp\
src/abstractgaugeitem.cpp \
src/bargaugeitem.cpp \
src/gaugeutil.cpp \
src/roundgaugeitem.cpp
src/roundgaugeitem.cpp \
src/scalarparam.cpp \
src/comboparam.cpp


HEADERS += src/mainwindow.h \
Expand Down Expand Up @@ -168,7 +170,9 @@ HEADERS += src/mainwindow.h \
src/bargaugeitem.h \
src/gaugeutil.h \
src/roundgaugeitem.h \
src/gaugeutil.h
src/gaugeutil.h \
src/scalarparam.h \
src/comboparam.h

FORMS += src/mainwindow.ui \
src/comsettings.ui \
Expand All @@ -187,7 +191,10 @@ FORMS += src/mainwindow.ui \
src/emsstatus.ui \
src/configview.ui \
src/parameterview.ui \
src/firmwaremetadata.ui
src/firmwaremetadata.ui \
src/scalarparam.ui \
src/comboparam.ui \
src/parameterwidget.ui
SUBDIRS += plugins
OTHER_FILES += \
README.md \
Expand Down
44 changes: 44 additions & 0 deletions core/src/comboparam.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#include "comboparam.h"
#include "ui_comboparam.h"

ComboParam::ComboParam(QWidget *parent) :
QWidget(parent),
ui(new Ui::ComboParam)
{
ui->setupUi(this);
connect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(currentIndexChanged(int)));
}

ComboParam::~ComboParam()
{
delete ui;
}
void ComboParam::setName(QString name)
{
ui->label->setText(name);
}

void ComboParam::setConfig(ConfigData *data)
{
disconnect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(currentIndexChanged(int)));
ui->comboBox->addItems(data->getEnumValues());
ui->comboBox->setCurrentIndex(data->value().toInt());
m_data = data;
connect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(currentIndexChanged(int)));
}

void ComboParam::saveValue()
{
//m_data->setValue(ui->comboBox->currentIndex());
m_data->saveToFlash();
}
void ComboParam::dataUpdate()
{
disconnect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(currentIndexChanged(int)));
ui->comboBox->setCurrentIndex(m_data->value().toInt());
connect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(currentIndexChanged(int)));
}
void ComboParam::currentIndexChanged(int index)
{
m_data->setValue(index);
}
29 changes: 29 additions & 0 deletions core/src/comboparam.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#ifndef COMBOPARAM_H
#define COMBOPARAM_H

#include <QWidget>
#include "configdata.h"

namespace Ui {
class ComboParam;
}

class ComboParam : public QWidget
{
Q_OBJECT

public:
explicit ComboParam(QWidget *parent = 0);
~ComboParam();
void setName(QString name);
void setConfig(ConfigData *data);
void saveValue();
private slots:
void dataUpdate();
void currentIndexChanged(int index);
private:
Ui::ComboParam *ui;
ConfigData *m_data;
};

#endif // COMBOPARAM_H
31 changes: 31 additions & 0 deletions core/src/comboparam.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ComboParam</class>
<widget class="QWidget" name="ComboParam">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>354</width>
<height>81</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
1 change: 1 addition & 0 deletions core/src/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1552,6 +1552,7 @@ void MainWindow::interrogationComplete()
}
windowsettings.endArray();*/
parameterView->setActiveComms(emsComms);
}
void MainWindow::interrogateTaskStart(QString task, int sequence)
{
Expand Down
28 changes: 15 additions & 13 deletions core/src/parameterview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ void ParameterView::addConfig(QString name,ConfigData *data)
Q_UNUSED(data)

}
void ParameterView::setActiveComms(EmsComms* comms)
{
m_emsComms = comms;
}

void ParameterView::closeEvent(QCloseEvent *event)
{
event->ignore();
Expand Down Expand Up @@ -85,7 +90,15 @@ void ParameterView::generateDialog(QString title,QList<DialogField> fieldlist)
for (int i=0;i<fieldlist.size();i++)
{
QLOG_DEBUG() << "Field:" << fieldlist[i].title << fieldlist[i].variable;
for (int j=0;j<m_memoryConfigBlockList.size();j++)
if (m_emsComms->getConfigList().contains(fieldlist[i].variable))
{
widget->addParam(title,fieldlist[i],m_emsComms->getConfigData(fieldlist[i].variable));
}
else
{
qDebug() << "Bad Variable:" << fieldlist[i].variable;
}
/*for (int j=0;j<m_memoryConfigBlockList.size();j++)
{
//QLOG_DEBUG() << "Config block:" << m_memoryConfigBlockList[j].type();
if (m_memoryConfigBlockList[j].name() == fieldlist[i].variable)
Expand All @@ -106,19 +119,8 @@ void ParameterView::generateDialog(QString title,QList<DialogField> fieldlist)
}
}
}
/* if (m_emsData)
{
if (m_emsData->hasLocalFlashBlock(m_memoryConfigBlockList[j].locationId()))
{
widget->updateValue(m_memoryConfigBlockList[j].locationId(),m_emsData->getLocalFlashBlock(m_memoryConfigBlockList[j].locationId()));
}
else if (m_emsData->hasLocalRamBlock(m_memoryConfigBlockList[j].locationId()))
{
widget->updateValue(m_memoryConfigBlockList[j].locationId(),m_emsData->getLocalRamBlock(m_memoryConfigBlockList[j].locationId()));
}
}*/
}
}
}*/
//fieldlist[i].condition
}
}
Expand Down
5 changes: 4 additions & 1 deletion core/src/parameterview.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "configdata.h"
#include "memorymetadata.h"
#include "menusetup.h"
#include "emscomms.h"
class ParameterView : public QWidget
{
Q_OBJECT
Expand All @@ -21,8 +22,10 @@ class ParameterView : public QWidget
void passMetaData(MemoryMetaData *metadata);
void updateValues();
double calcAxis(unsigned short val,QList<QPair<QString,double> > metadata);
void addConfig(QString name,ConfigData *data);
void addConfig(QString name,ConfigData *data);
void setActiveComms(EmsComms* comms);
private:
EmsComms *m_emsComms;
MemoryMetaData *m_metaData;
QList<ParameterWidget*> paramWidgetList;
QMap<QLineEdit*,ConfigBlock> lineEditToConfigBlockMap;
Expand Down
72 changes: 60 additions & 12 deletions core/src/parameterwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,38 @@
#include <QLineEdit>
#include <QPushButton>
#include "QsLog.h"
#include "configdata.h"

ParameterWidget::ParameterWidget(QWidget *parent) : QWidget(parent)
{
scrollArea = new QScrollArea(this);
QPushButton *saveButton = new QPushButton(this);
connect(saveButton,SIGNAL(clicked()),this,SLOT(saveButtonClicked()));
saveButton->setText("Save");
ui.setupUi(this);
connect(ui.savePushButton,SIGNAL(clicked()),this,SLOT(saveButtonClicked()));
//scrollWidget = new QWidget();
//scrollWidget->setLayout(new QVBoxLayout());
//scrollArea->setWidget(scrollWidget);
scrollArea->setLayout(new QVBoxLayout());
mainLayout = new QVBoxLayout();
this->setLayout(mainLayout);
mainLayout->addWidget(scrollArea);
mainLayout->addWidget(saveButton);
scrollArea->show();
//scrollArea->setWidget(new QWidget());
ui.scrollArea->widget()->setLayout(new QVBoxLayout());
ui.scrollArea->widget()->layout()->setSizeConstraint(QLayout::SetMinAndMaxSize);
//scrollArea->setLayout(new QVBoxLayout());
//mainLayout = new QVBoxLayout();
//this->setLayout(mainLayout);
//mainLayout->addWidget(scrollArea);
//mainLayout->addWidget(saveButton);
//scrollArea->show();
//scrollWidget->show();
//scrollArea->show();
}
void ParameterWidget::saveButtonClicked()
{
for (int i=0;i<m_scalarParamList.size();i++)
{
m_scalarParamList[i]->saveValue();
}
for (int i=0;i<m_comboParamList.size();i++)
{
m_comboParamList[i]->saveValue();
}
return;
for (int i=0;i<m_fieldConfigList.size();i++)
{
QLineEdit *edit = m_nameToLineEditMap[m_fieldConfigList[i].first.variable];
Expand Down Expand Up @@ -111,8 +122,45 @@ void ParameterWidget::updateValue(unsigned short locationid,QByteArray block)
}
}
}
void ParameterWidget::addParam(QString title,DialogField field,ConfigData* data)
{
Q_UNUSED(title)
Q_UNUSED(field)
//QHBoxLayout *layout = new QHBoxLayout();
//QLabel *label = new QLabel(scrollArea);
//label->show();
//label->setText(field.title);
//layout->addWidget(label);
//QLineEdit *edit = new QLineEdit(scrollArea);
//m_nameToLineEditMap[field.variable] = edit;
//edit->show();
//layout->addWidget(edit);
if (data->type() == ConfigData::VALUE)
{
ScalarParam *param = new ScalarParam(ui.scrollArea->widget());
param->show();
param->setName(field.title);
param->setConfig(data);
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(param);
ui.scrollArea->widget()->layout()->addItem(layout);
m_scalarParamList.append(param);
}
else if (data->type() == ConfigData::ENUM)
{
ComboParam *param = new ComboParam(ui.scrollArea->widget());
param->show();
param->setName(field.title);
param->setConfig(data);
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(param);
ui.scrollArea->widget()->layout()->addItem(layout);
//m_scalarParamList.append(param);
m_comboParamList.append(param);
}
}

void ParameterWidget::addParam(QString title,DialogField field,ConfigBlock block)
/*void ParameterWidget::addParam(QString title,DialogField field,ConfigBlock block)
{
QLOG_DEBUG() << "Title:" << title;
QLOG_DEBUG() << "Field:" << field.title << field.variable;
Expand All @@ -135,7 +183,7 @@ void ParameterWidget::addParam(QString title,DialogField field,ConfigBlock block
//lineEditToConfigBlockMap[edit] = m_memoryConfigBlockList[j];
}
//fieldlist[i].condition
}
}*/
double ParameterWidget::calcAxis(int val,QList<QPair<QString,double> > metadata)
{
if (metadata.size() == 0)
Expand Down
17 changes: 13 additions & 4 deletions core/src/parameterwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,33 @@
#include <QVBoxLayout>
#include <QLineEdit>
#include "configblock.h"
#include "configdata.h"
#include "dialogfield.h"
#include "scalarparam.h"
#include "comboparam.h"
#include "ui_parameterwidget.h"

class ParameterWidget : public QWidget
{
Q_OBJECT
public:
explicit ParameterWidget(QWidget *parent = 0);
void addParam(QString title,DialogField field,ConfigBlock block);
//void addParam(QString title,DialogField field,ConfigBlock block);
QList<unsigned short> getLocationIdList();
void updateValue(unsigned short locationid,QByteArray block);
void setValueRamFlash(unsigned short locationid,bool isRam,bool isFlash);
void addParam(QString title,DialogField field,ConfigData* data);
private:
double calcAxis(int val,QList<QPair<QString,double> > metadata);
int backConvertAxis(double val,QList<QPair<QString,double> > metadata);
QList<QPair<DialogField,ConfigBlock> > m_fieldConfigList;
QMap<QString,QLineEdit*> m_nameToLineEditMap;
QScrollArea *scrollArea;
QVBoxLayout *mainLayout;
QWidget *scrollWidget;
//QScrollArea *scrollArea;
//QVBoxLayout *mainLayout;
//QWidget *scrollWidget;
QList<ScalarParam*> m_scalarParamList;
QList<ComboParam*> m_comboParamList;
Ui::ParameterWidget ui;
private slots:
void saveButtonClicked();
signals:
Expand Down
Loading

0 comments on commit 01c6541

Please sign in to comment.