#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; }