#include "regsexplorer.h" #include "ui_regsexplorernew.h" #include "socmodel.h" RegsExplorer::RegsExplorer(QWidget *parent) : QDockWidget(parent), ui(new Ui::RegsExplorerNew) { ui->setupUi(this); connect(SocExplorerEngine::self(),SIGNAL(enumDeviceAdded(socExplorerEnumDevice*)),this,SLOT(addDev(socExplorerEnumDevice*))); delegate.device=NULL; } RegsExplorer::~RegsExplorer() { delete ui; } void RegsExplorer::addDev(socExplorerEnumDevice *device) { if((delegate.device==NULL)||(delegate.device->sameSoc(device))) { delegate.device = device; peripheralWidget* peripheral=new peripheralWidget(device->name(),device->baseAddress(),&delegate,this); this->ui->regsViewer->addPeripheral(peripheral); peripheralModel periphM=SocExplorerEngine::xmlModel()->getPeripheral(device->name()); int startIndex,stopIndex; QString desc; QString name; bool rw; this->ui->regsViewer->setSocName(device->socName()); for(int i=0;iaddRegister(periphM.registers.at(i).name,device->baseAddress() + periphM.registers.at(i).offset); for(int j=0;jregisterAt(i)->setBitFieldAttribute(startIndex,stopIndex,name,desc,rw); } } } } void RegsExplorer::changeEvent(QEvent *e) { QDockWidget::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } }