Skip to content

Commit

Permalink
regmap: style update
Browse files Browse the repository at this point in the history
Signed-off-by: IMuthi <[email protected]>
  • Loading branch information
IonutMuthi committed Jul 4, 2023
1 parent 9530269 commit 1bdcfdb
Show file tree
Hide file tree
Showing 20 changed files with 317 additions and 166 deletions.
7 changes: 5 additions & 2 deletions plugins/regmap/include/regmap/regmapplugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ namespace Ui {
}

namespace scopy {
namespace regmap {
class JsonFormatedElement;
}

class SCOPY_REGMAP_EXPORT REGMAPPlugin : public QObject, public PluginBase
{
Q_OBJECT
Expand All @@ -27,7 +31,6 @@ class SCOPY_REGMAP_EXPORT REGMAPPlugin : public QObject, public PluginBase
void loadToolList() override;
void unload() override;
bool compatible(QString uri, QString category) override;
void preload() override;
void initPreferences() override;
bool loadPreferencesPage() override;

Expand All @@ -41,7 +44,7 @@ public Q_SLOTS:
bool onDisconnect() override;

private:
QWidget *m_registerMapWidget;
QWidget *m_registerMapWidget = nullptr;
QList<iio_device*> *m_deviceList = nullptr;
struct iio_device* getIioDevice(iio_context* ctx, const char *dev_name);
bool isBufferCapable(iio_device *dev);
Expand Down
21 changes: 14 additions & 7 deletions plugins/regmap/src/deviceregistermap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "search.hpp"
#include "registermapsettingsmenu.hpp"
#include "utils.hpp"
#include "logging_categories.h"

#include <QLineEdit>
#include <QPushButton>
Expand All @@ -22,15 +23,16 @@
#include <src/recycerview/registermaptable.hpp>
#include <tool_view_builder.hpp>
#include "dynamicWidget.h"
#include "regmapstylehelper.hpp"

using namespace scopy;
using namespace regmap;
using namespace regmap::gui;

DeviceRegisterMap::DeviceRegisterMap(RegisterMapTemplate *registerMapTemplate, RegisterMapValues *registerMapValues, QWidget *parent)
: registerMapValues(registerMapValues),
registerMapTemplate(registerMapTemplate),
QWidget{parent}
: QWidget(parent),
registerMapValues(registerMapValues),
registerMapTemplate(registerMapTemplate)
{
layout = new QVBoxLayout();
Utils::removeLayoutMargins(layout);
Expand All @@ -45,8 +47,7 @@ DeviceRegisterMap::DeviceRegisterMap(RegisterMapTemplate *registerMapTemplate, R
registerMapTable->setLayout(registerMapTableLayout);

QWidget *tableHeadWidget = new QWidget();
scopy::setDynamicProperty(tableHeadWidget, "has_frame", true);
scopy::setDynamicProperty(tableHeadWidget, "has_bottom_border", true);
scopy::regmap::RegmapStyleHelper::FrameWidget(tableHeadWidget);
QHBoxLayout *tableHead = new QHBoxLayout();
tableHeadWidget->setLayout(tableHead);

Expand All @@ -58,14 +59,17 @@ DeviceRegisterMap::DeviceRegisterMap(RegisterMapTemplate *registerMapTemplate, R
tableHead->addWidget(new QLabel("Bit"+QString::number(i)),1);
}

registerMapTableWidget = new gui::RegisterMapTable(registerMapTemplate->getRegisterList());
registerMapTableWidget = new gui::RegisterMapTable(registerMapTemplate->getRegisterList(), this);

QObject::connect(registerMapTableWidget, &gui::RegisterMapTable::registerSelected, this, [=](uint32_t address){
registerChanged(registerMapTemplate->getRegisterTemplate(address));
});

registerMapTableLayout->addWidget(tableHeadWidget);
registerMapTableLayout->addWidget(registerMapTableWidget->getWidget());
auto aux = registerMapTableWidget->getWidget();
if (aux) {
registerMapTableLayout->addWidget(aux);
}
layout->addWidget(registerMapTable,5);

QObject::connect(registerController, &gui::RegisterController::registerAddressChanged, this , [=](uint32_t address){
Expand All @@ -75,6 +79,7 @@ DeviceRegisterMap::DeviceRegisterMap(RegisterMapTemplate *registerMapTemplate, R
Q_EMIT registerMapValues->requestRead(address);
}
});
layout->addWidget(registerController,1);
}

QObject::connect(registerController, &RegisterController::requestRead, registerMapValues, &RegisterMapValues::requestRead);
Expand All @@ -91,6 +96,8 @@ DeviceRegisterMap::DeviceRegisterMap(RegisterMapTemplate *registerMapTemplate, R

if (registerMapTemplate) {
registerChanged(registerMapTemplate->getRegisterList()->first());
} else {
layout->addItem(new QSpacerItem(10,10,QSizePolicy::Preferred, QSizePolicy::Expanding));
}
}

Expand Down
8 changes: 8 additions & 0 deletions plugins/regmap/src/jsonformatedelement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ bool JsonFormatedElement::getUseBifieldNameAsDescription() const
return useBifieldDescriptionAsName;
}

QString JsonFormatedElement::toString()
{
return QString("Filename : " + fileName + " Compatible Dev: " + compatibleDevices->length() +
" isAxiCompatible :" + isAxiCompatible +
" useRegisterDescriptionAsName: " + useRegisterDescriptionAsName +
" useBifieldDescriptionAsName: " + useBifieldDescriptionAsName);
}

bool JsonFormatedElement::getUseRegisterNameAsDescription() const
{
return useRegisterDescriptionAsName;
Expand Down
3 changes: 2 additions & 1 deletion plugins/regmap/src/jsonformatedelement.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@ class JsonFormatedElement
bool getIsAxiCompatible() const;
bool getUseRegisterNameAsDescription() const;
bool getUseBifieldNameAsDescription() const;
QString toString();

private :
QString fileName;
QList<QString> *compatibleDevices;
bool isAxiCompatible;
bool isAxiCompatible = false;
bool useRegisterDescriptionAsName;
bool useBifieldDescriptionAsName;

Expand Down
2 changes: 1 addition & 1 deletion plugins/regmap/src/logging_categories.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Q_LOGGING_CATEGORY(CAT_CALIBRATION, "calibration")
Q_LOGGING_CATEGORY(CAT_CALIBRATION_MANUAL, "calibration.manual")
Q_LOGGING_CATEGORY(CAT_IIO_MANAGER, "iioManager")
Q_LOGGING_CATEGORY(CAT_PLOT, "plot")
Q_LOGGING_CATEGORY(CAT_REGMAP, "REGISTER MAP")
Q_LOGGING_CATEGORY(CAT_REGMAP, "REGISTERMAP")
Q_LOGGING_CATEGORY(CAT_REGISTER_MAP_TABLE, "RegisterMapTable")
#endif

Expand Down
24 changes: 14 additions & 10 deletions plugins/regmap/src/recycerview/recyclerview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,30 @@
using namespace scopy::regmap::gui;

RecyclerView::RecyclerView(QList<int> *widgets,QWidget *parent)
: widgets(widgets),
QWidget{parent}
: QWidget(parent),
widgets(widgets)
{
this->installEventFilter(this);
this->setLayout(new QHBoxLayout());
layout()->setMargin(0);
layout()->setSpacing(0);
layout = new QHBoxLayout();
this->setLayout(layout);
layout->setMargin(0);
layout->setSpacing(0);

// setMinimumSize(100,100);

bitFieldsWidgetLayout = new QGridLayout();
bitFieldsWidgetLayout->setMargin(0);
bitFieldsWidgetLayout->setSpacing(0);
QWidget *bitFieldsWidget = new QWidget();
QWidget *bitFieldsWidget = new QWidget(this);
bitFieldsWidget->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Maximum);
bitFieldsWidget->setLayout(bitFieldsWidgetLayout);

m_scrollArea = new VerticalScrollArea();
m_scrollArea = new VerticalScrollArea(this);
m_scrollArea->setWidget(bitFieldsWidget);
m_scrollArea->verticalScrollBar()->setVisible(false);
this->layout()->addWidget(m_scrollArea);
layout->addWidget(m_scrollArea);

slider = new QSlider();
slider = new QSlider(this);
slider->setInvertedAppearance(true);
slider->setInvertedControls(true);

Expand All @@ -46,14 +49,15 @@ RecyclerView::RecyclerView(QList<int> *widgets,QWidget *parent)
}

});
this->layout()->addWidget(slider);
layout->addWidget(slider);
}

RecyclerView::~RecyclerView()
{
delete bitFieldsWidgetLayout;
delete widgetMap;
delete m_scrollArea;
delete layout;
}

void RecyclerView::init()
Expand Down
3 changes: 3 additions & 0 deletions plugins/regmap/src/recycerview/recyclerview.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

class QSlider;
class QGridLayout;

class QHBoxLayout;
namespace scopy::regmap::gui{
class RecyclerView : public QWidget
{
Expand Down Expand Up @@ -42,6 +44,7 @@ class RecyclerView : public QWidget
int m_scrollBarCurrentValue;

QGridLayout *bitFieldsWidgetLayout;
QHBoxLayout *layout;

QMap<int, QWidget*> *widgetMap;
QList<int> *widgets;
Expand Down
4 changes: 2 additions & 2 deletions plugins/regmap/src/recycerview/registermaptable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ using namespace scopy;
using namespace regmap;
using namespace regmap::gui;

RegisterMapTable::RegisterMapTable(QMap<uint32_t, RegisterModel*> *registerModels)
RegisterMapTable::RegisterMapTable(QMap<uint32_t, RegisterModel*> *registerModels, QWidget *parent)
:registerModels(registerModels)
{
registersMap = new QMap<uint32_t, RegisterSimpleWidget*>();
Expand All @@ -19,7 +19,7 @@ RegisterMapTable::RegisterMapTable(QMap<uint32_t, RegisterModel*> *registerModel
foreach(uint32_t index, registerModels->keys()) {
widgets->push_back((int)index);
}
recyclerView = new RecyclerView(widgets);
recyclerView = new RecyclerView(widgets, parent);

QObject::connect(recyclerView, &RecyclerView::requestWidget, this, &RegisterMapTable::generateWidget);
QObject::connect(this, &RegisterMapTable::widgetGenerated, recyclerView, &RecyclerView::addWidget);
Expand Down
4 changes: 2 additions & 2 deletions plugins/regmap/src/recycerview/registermaptable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class RegisterMapTable : public IRecyclerViewAdapter
{
Q_OBJECT
public:
RegisterMapTable(QMap<uint32_t, RegisterModel*> *registerModels);
RegisterMapTable(QMap<uint32_t, RegisterModel*> *registerModels, QWidget *parent);

QWidget* getWidget();
void setFilters(QList<uint32_t> filters);
Expand All @@ -33,7 +33,7 @@ class RegisterMapTable : public IRecyclerViewAdapter
void registerSelected(uint32_t address);

private:
RecyclerView * recyclerView;
RecyclerView * recyclerView = nullptr;
QMap<uint32_t, RegisterModel*> *registerModels;
QMap<uint32_t, RegisterSimpleWidget*> *registersMap;
uint32_t selectedAddress;
Expand Down
43 changes: 6 additions & 37 deletions plugins/regmap/src/registercontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
#include <QPushButton>
#include <qspinbox.h>

#include "addresspicker.hpp"
#include "registervaluewidget.hpp"
#include "utils.hpp"
#include "regmapstylehelper.hpp"

using namespace scopy;
using namespace regmap;
Expand All @@ -20,21 +20,14 @@ using namespace regmap::gui;
RegisterController::RegisterController(QWidget *parent)
: QWidget{parent}
{
QVBoxLayout *mainLayout = new QVBoxLayout();
RegmapStyleHelper::BlueButton(this);
this->setMaximumHeight(90);

QVBoxLayout *mainLayout = new QVBoxLayout();
setLayout(mainLayout);
layout= new QHBoxLayout();

// addressPicker = new regmap::gui::AddressPicker();
// QObject::connect(addressPicker, &AddressPicker::registerAddressChanged, this, &RegisterController::registerAddressChanged);
// QObject::connect(addressPicker, &AddressPicker::requestRead, this, &RegisterController::requestRead);

// layout->addWidget(addressPicker);



QVBoxLayout *addressLayout = new QVBoxLayout();
// addressLayout->addWidget(new QLabel("Address: "));
addressPicker = new QSpinBox();
addressPicker->setDisplayIntegerBase(16);
addressPicker->setMinimum(0);
Expand All @@ -47,7 +40,6 @@ RegisterController::RegisterController(QWidget *parent)
});

readButton = new QPushButton("Read");
scopy::regmap::Utils::applyScopyButtonStyle(readButton);
//request read
QObject::connect( readButton, &QPushButton::clicked, this , [=](){
bool ok;
Expand All @@ -56,20 +48,6 @@ RegisterController::RegisterController(QWidget *parent)

addressLayout->addWidget(addressPicker);

// layout->addLayout(addressLayout,1);
// layout->addWidget(readButton);

// regValue = new RegisterValueWidget;

// QObject::connect(regValue, &RegisterValueWidget::valueChanged, this, &RegisterController::valueChanged);

// QObject::connect( regValue, &RegisterValueWidget::requestWrite, this, [=](uint32_t value){
// bool ok;
// Q_EMIT requestWrite(addressPicker->getAddress().toInt(&ok,16), value);
// });

// layout->addWidget(regValue);

regValue = new QLineEdit(this);
regValue->setText("N/R");
regValue->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
Expand All @@ -79,18 +57,13 @@ RegisterController::RegisterController(QWidget *parent)
// valueLayout->addWidget(new QLabel("Value: "));
valueLayout->addWidget(regValue);


writeButton = new QPushButton("Write");
scopy::regmap::Utils::applyScopyButtonStyle(writeButton);
//request write on register
QObject::connect( writeButton, &QPushButton::clicked, this, [=](){
bool ok;
Q_EMIT requestWrite(addressPicker->value(), regValue->text().toInt(&ok,16));
});

// layout->addLayout(valueLayout,1);
// layout->addWidget(writeButton);

QVBoxLayout *auxLayout = new QVBoxLayout();

QHBoxLayout *labelLayout = new QHBoxLayout();
Expand All @@ -111,11 +84,7 @@ RegisterController::RegisterController(QWidget *parent)
buttonLayout->addWidget(writeButton);

layout->addLayout(buttonLayout);

QSpacerItem *spacer = new QSpacerItem(10,10,QSizePolicy::Preferred, QSizePolicy::Expanding);
mainLayout->addLayout(layout);
mainLayout->addItem(spacer);

}

RegisterController::~RegisterController()
Expand All @@ -130,15 +99,15 @@ RegisterController::~RegisterController()
void RegisterController::registerChanged(uint32_t address)
{
if (!addressChanged) {
addressPicker->setValue(address); //->setAddress(address);
addressPicker->setValue(address);
} else {
addressChanged = false;
}
}

void RegisterController::registerValueChanged(QString value)
{
regValue->setText(value); //->setValue(value);
regValue->setText(value);
}

void RegisterController::addNameAndDescription(QString name, QString description)
Expand Down
Loading

0 comments on commit 1bdcfdb

Please sign in to comment.