@@ -0,0 +1,33 | |||
|
1 | #include "socregsviewer.h" | |
|
2 | ||
|
3 | socRegsViewer::socRegsViewer(const QString &name, QWidget *parent) : | |
|
4 | QScrollArea(parent) | |
|
5 | { | |
|
6 | p_name = name; | |
|
7 | p_scrollAreaWdgt = new QWidget(this); | |
|
8 | p_scrollAreaWdgtLayout = new QGridLayout(p_scrollAreaWdgt); | |
|
9 | //p_layout = new QGridLayout(this); | |
|
10 | p_nameLabel = new QLabel(name); | |
|
11 | setWidget(p_scrollAreaWdgt); | |
|
12 | setWidgetResizable(true); | |
|
13 | p_scrollAreaWdgt->setLayout(p_scrollAreaWdgtLayout); | |
|
14 | p_scrollAreaWdgtLayout->addWidget(p_nameLabel,0,0,1,1); | |
|
15 | } | |
|
16 | ||
|
17 | peripheralWidget *socRegsViewer::peripheral(int index) | |
|
18 | { | |
|
19 | if(index>=0 && index<p_peripherals.count()) | |
|
20 | { | |
|
21 | return p_peripherals.at(index); | |
|
22 | } | |
|
23 | return NULL; | |
|
24 | } | |
|
25 | ||
|
26 | void socRegsViewer::addPeripheral(peripheralWidget *peripheral) | |
|
27 | { | |
|
28 | if(peripheral!=NULL) | |
|
29 | { | |
|
30 | p_peripherals.append(peripheral); | |
|
31 | p_scrollAreaWdgtLayout->addWidget(peripheral,p_peripherals.count(),0,1,-1); | |
|
32 | } | |
|
33 | } |
@@ -0,0 +1,28 | |||
|
1 | #ifndef SOCREGSVIEWER_H | |
|
2 | #define SOCREGSVIEWER_H | |
|
3 | ||
|
4 | #include <QWidget> | |
|
5 | #include <QtWidgets> | |
|
6 | #include "peripheralwidget.h" | |
|
7 | ||
|
8 | class socRegsViewer : public QScrollArea | |
|
9 | { | |
|
10 | Q_OBJECT | |
|
11 | public: | |
|
12 | explicit socRegsViewer(const QString& name,QWidget *parent = 0); | |
|
13 | peripheralWidget* peripheral(int index); | |
|
14 | ||
|
15 | signals: | |
|
16 | ||
|
17 | public slots: | |
|
18 | void addPeripheral(peripheralWidget* peripheral); | |
|
19 | ||
|
20 | private: | |
|
21 | QWidget* p_scrollAreaWdgt; | |
|
22 | QString p_name; | |
|
23 | QGridLayout* p_layout,*p_scrollAreaWdgtLayout; | |
|
24 | QLabel* p_nameLabel; | |
|
25 | QList<peripheralWidget*> p_peripherals; | |
|
26 | }; | |
|
27 | ||
|
28 | #endif // SOCREGSVIEWER_H |
@@ -1,9 +1,14 | |||
|
1 | 1 | |
|
2 | 2 | PERIPHERAL_WDGT_SOURCES =\ |
|
3 | 3 | src/peripheralwidget.cpp \ |
|
4 | src/registerwidget.cpp | |
|
4 | src/registerwidget.cpp \ | |
|
5 | src/socregsviewer.cpp | |
|
6 | ||
|
7 | ||
|
5 | 8 | |
|
6 | 9 | PERIPHERAL_WDGT_HEADERS += \ |
|
7 | 10 | src/peripheralwidget.h \ |
|
8 | src/registerwidget.h | |
|
11 | src/registerwidget.h \ | |
|
12 | src/socregsviewer.h | |
|
9 | 13 | |
|
14 |
@@ -1,11 +1,26 | |||
|
1 | 1 | #include "mainwindow.h" |
|
2 | 2 | #include <QApplication> |
|
3 | #include "socregsviewer.h" | |
|
3 | 4 | |
|
4 | 5 | int main(int argc, char *argv[]) |
|
5 | 6 | { |
|
6 | 7 | QApplication a(argc, argv); |
|
7 | MainWindow w; | |
|
8 | w.show(); | |
|
9 | ||
|
8 | // MainWindow w; | |
|
9 | // w.show(); | |
|
10 | qint32 baseAddress = 0x8000100; | |
|
11 | qint32 baseAddress2 = 0x8000200; | |
|
12 | // testWidget = new peripheralWidget("UART1",baseAddress,this); | |
|
13 | // for(int i=0;i<10;i++) | |
|
14 | // testWidget->addRegister(QString("REG%1").arg((uint)i),baseAddress+(i*4)); | |
|
15 | socRegsViewer* socViewer; | |
|
16 | socViewer = new socRegsViewer("leon 3"); | |
|
17 | socViewer->addPeripheral(new peripheralWidget("UART1",baseAddress)); | |
|
18 | socViewer->addPeripheral(new peripheralWidget("UART2",baseAddress2)); | |
|
19 | for(int i=0;i<10;i++) | |
|
20 | { | |
|
21 | socViewer->peripheral(0)->addRegister(QString("REG%1").arg((uint)i),baseAddress+(i*4)); | |
|
22 | socViewer->peripheral(1)->addRegister(QString("REG%1").arg((uint)i),baseAddress2+(i*4)); | |
|
23 | } | |
|
24 | socViewer->show(); | |
|
10 | 25 | return a.exec(); |
|
11 | 26 | } |
@@ -1,16 +1,25 | |||
|
1 | 1 | #include "mainwindow.h" |
|
2 | 2 | |
|
3 | 3 | MainWindow::MainWindow(QWidget *parent) |
|
4 | 4 | : QMainWindow(parent) |
|
5 | 5 | { |
|
6 | 6 | qint32 baseAddress = 0x8000100; |
|
7 | testWidget = new peripheralWidget("UART1",baseAddress,this); | |
|
7 | qint32 baseAddress2 = 0x8000200; | |
|
8 | // testWidget = new peripheralWidget("UART1",baseAddress,this); | |
|
9 | // for(int i=0;i<10;i++) | |
|
10 | // testWidget->addRegister(QString("REG%1").arg((uint)i),baseAddress+(i*4)); | |
|
11 | socViewer = new socRegsViewer("leon 3"); | |
|
12 | socViewer->addPeripheral(new peripheralWidget("UART1",baseAddress,this)); | |
|
13 | socViewer->addPeripheral(new peripheralWidget("UART2",baseAddress2,this)); | |
|
8 | 14 | for(int i=0;i<10;i++) |
|
9 | testWidget->addRegister(QString("REG%1").arg((uint)i),baseAddress+(i*4)); | |
|
10 | this->setCentralWidget(testWidget); | |
|
15 | { | |
|
16 | socViewer->peripheral(0)->addRegister(QString("REG%1").arg((uint)i),baseAddress+(i*4)); | |
|
17 | socViewer->peripheral(1)->addRegister(QString("REG%1").arg((uint)i),baseAddress2+(i*4)); | |
|
18 | } | |
|
19 | this->setCentralWidget(socViewer); | |
|
11 | 20 | } |
|
12 | 21 | |
|
13 | 22 | MainWindow::~MainWindow() |
|
14 | 23 | { |
|
15 | 24 | |
|
16 | 25 | } |
@@ -1,18 +1,20 | |||
|
1 | 1 | #ifndef MAINWINDOW_H |
|
2 | 2 | #define MAINWINDOW_H |
|
3 | 3 | |
|
4 | 4 | #include <QMainWindow> |
|
5 | 5 | #include "peripheralwidget.h" |
|
6 | #include "socregsviewer.h" | |
|
6 | 7 | |
|
7 | 8 | class MainWindow : public QMainWindow |
|
8 | 9 | { |
|
9 | 10 | Q_OBJECT |
|
10 | 11 | |
|
11 | 12 | public: |
|
12 | 13 | MainWindow(QWidget *parent = 0); |
|
13 | 14 | ~MainWindow(); |
|
14 | 15 | |
|
15 | 16 | peripheralWidget* testWidget; |
|
17 | socRegsViewer* socViewer; | |
|
16 | 18 | }; |
|
17 | 19 | |
|
18 | 20 | #endif // MAINWINDOW_H |
General Comments 0
You need to be logged in to leave comments.
Login now