#pragma once #include #include #include #include #include #include #include "ELF.h" #include "ELFHeaderView.h" #include "ELFSymbolView.h" #include "ELFSectionView.h" #include "ELFProgramView.h" template class CELFView : public QMdiSubWindow { public: CELFView(QMdiArea*); ~CELFView() = default; void SetELF(ElfType*); void Reset(); protected: void resizeEvent(QResizeEvent*) Q_DECL_OVERRIDE; void showEvent(QShowEvent*) Q_DECL_OVERRIDE; private: void PopulateList(); void itemSelectionChanged(); ElfType* m_pELF = nullptr; QWidget* m_centralwidget; QHBoxLayout* m_layout; QTreeWidget* m_treeWidget; QGroupBox* m_groupBox; CELFHeaderView* m_pHeaderView; CELFSymbolView* m_pSymbolView; CELFSectionView* m_pSectionView; CELFProgramView* m_pProgramView; std::vector m_editFields; bool m_hasPrograms = false; bool m_hasSymbols = false; };