86 lines
3.2 KiB
C++
86 lines
3.2 KiB
C++
#include "dialogelfsection.h"
|
|
|
|
DialogElfSection::DialogElfSection() {
|
|
setWindowTitle("ELF Section");
|
|
setFixedSize(350, 250);
|
|
|
|
QVBoxLayout *mainLayout = new QVBoxLayout;
|
|
|
|
QGridLayout *layoutData = new QGridLayout;
|
|
QLabel *labelSectionName = new QLabel("Section name: ");
|
|
m_labelSectionName = new QLabel;
|
|
QLabel *labelType = new QLabel("Type: ");
|
|
m_labelType = new QLabel;
|
|
QLabel *labelFlags = new QLabel("Flags: ");
|
|
m_labelFlags = new QLabel;
|
|
QLabel *labelAddress = new QLabel("Address: ");
|
|
m_labelAddress = new QLabel;
|
|
QLabel *labelOffset = new QLabel("Offset: ");
|
|
m_labelOffset = new QLabel;
|
|
QLabel *labelSectionSize = new QLabel("Section size: ");
|
|
m_labelSectionSize = new QLabel;
|
|
QLabel *labelLink = new QLabel("Link: ");
|
|
m_labelLink = new QLabel;
|
|
QLabel *labelInfo = new QLabel("Info: ");
|
|
m_labelInfo = new QLabel;
|
|
QLabel *labelAddressAlign = new QLabel("Address Align: ");
|
|
m_labelAddressAlign = new QLabel;
|
|
QLabel *labelEntrySize = new QLabel("Entry size: ");
|
|
m_labelEntrySize = new QLabel;
|
|
|
|
layoutData->addWidget(labelSectionName, 0, 0);
|
|
layoutData->addWidget(m_labelSectionName, 0, 1);
|
|
layoutData->addWidget(labelType, 1, 0);
|
|
layoutData->addWidget(m_labelType, 1, 1);
|
|
layoutData->addWidget(labelFlags, 2, 0);
|
|
layoutData->addWidget(m_labelFlags, 2, 1);
|
|
layoutData->addWidget(labelAddress, 3, 0);
|
|
layoutData->addWidget(m_labelAddress, 3, 1);
|
|
layoutData->addWidget(labelOffset, 4, 0);
|
|
layoutData->addWidget(m_labelOffset, 4, 1);
|
|
layoutData->addWidget(labelSectionSize, 5, 0);
|
|
layoutData->addWidget(m_labelSectionSize, 5, 1);
|
|
layoutData->addWidget(labelLink, 6, 0);
|
|
layoutData->addWidget(m_labelLink, 6, 1);
|
|
layoutData->addWidget(labelInfo, 7, 0);
|
|
layoutData->addWidget(m_labelInfo, 7, 1);
|
|
layoutData->addWidget(labelAddressAlign, 8, 0);
|
|
layoutData->addWidget(m_labelAddressAlign, 8, 1);
|
|
|
|
QHBoxLayout *layoutButton = new QHBoxLayout;
|
|
layoutButton->setAlignment(Qt::AlignRight);
|
|
QPushButton *buttonClose = new QPushButton("Close");
|
|
connect(buttonClose, SIGNAL(clicked()), this, SLOT(close()));
|
|
|
|
layoutButton->addWidget(buttonClose);
|
|
|
|
mainLayout->addLayout(layoutData);
|
|
mainLayout->addLayout(layoutButton);
|
|
|
|
setLayout(mainLayout);
|
|
}
|
|
void DialogElfSection::setData(struct elfSection *sElfS){
|
|
m_labelSectionName->setText(sElfS->sh_name);
|
|
m_labelType->setText(printHex(sElfS->sh_type.toHex()));
|
|
m_labelFlags->setText(sElfS->sh_flags.toHex());
|
|
m_labelAddress->setText(printHex(sElfS->sh_addr.toHex()));
|
|
m_labelOffset->setText(printHex(sElfS->sh_offset.toHex()));
|
|
m_labelSectionSize->setText(printHex(sElfS->sh_size.toHex()));
|
|
m_labelLink->setText(printHex(sElfS->sh_link.toHex()));
|
|
m_labelInfo->setText(printHex(sElfS->sh_info.toHex()));
|
|
m_labelAddressAlign->setText(printHex(sElfS->sh_addralign.toHex()));
|
|
m_labelEntrySize->setText(printHex(sElfS->sh_entsize.toHex()));
|
|
}
|
|
DialogElfSection::~DialogElfSection() {
|
|
delete m_labelSectionName;
|
|
delete m_labelType;
|
|
delete m_labelFlags;
|
|
delete m_labelAddress;
|
|
delete m_labelOffset;
|
|
delete m_labelSectionSize;
|
|
delete m_labelLink;
|
|
delete m_labelInfo;
|
|
delete m_labelAddressAlign;
|
|
delete m_labelEntrySize;
|
|
}
|