Skip to content

Commit

Permalink
progress: correct widget initialization for new kaitai struct features
Browse files Browse the repository at this point in the history
  • Loading branch information
hello-adam committed Apr 27, 2020
1 parent f348af8 commit 58ce75b
Showing 1 changed file with 32 additions and 30 deletions.
62 changes: 32 additions & 30 deletions src/hobbits-plugins/analyzers/KaitaiStruct/kaitaistruct.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,40 @@ const QString KAITAI_RESULT_LABEL = "kaitai_struct_result_label";

KaitaiStruct::KaitaiStruct() :
ui(new Ui::KaitaiStruct()),
m_loadKsyMenu(new QMenu()),
m_loadKsyMenu(nullptr),
m_highlightNav(nullptr)
{
}

KaitaiStruct::~KaitaiStruct()
{
delete m_loadKsyMenu;
delete ui;
}

AnalyzerInterface* KaitaiStruct::createDefaultAnalyzer()
{
return new KaitaiStruct();
}

//Return name of operator
QString KaitaiStruct::getName()
{
return "Kaitai Struct";
}

void KaitaiStruct::provideCallback(QSharedPointer<PluginCallback> pluginCallback)
{
// the plugin callback allows the self-triggering of operateOnContainers
m_pluginCallback = pluginCallback;
if (m_highlightNav) {
m_highlightNav->setPluginCallback(m_pluginCallback);
}
}

void KaitaiStruct::applyToWidget(QWidget *widget)
{
m_loadKsyMenu = new QMenu();
m_loadKsyMenu->addAction("Load File...", [this]() {
QString fileName = QFileDialog::getOpenFileName(
nullptr,
Expand Down Expand Up @@ -52,36 +83,7 @@ KaitaiStruct::KaitaiStruct() :
});
}
}
}

KaitaiStruct::~KaitaiStruct()
{
delete m_loadKsyMenu;
delete ui;
}

AnalyzerInterface* KaitaiStruct::createDefaultAnalyzer()
{
return new KaitaiStruct();
}

//Return name of operator
QString KaitaiStruct::getName()
{
return "Kaitai Struct";
}

void KaitaiStruct::provideCallback(QSharedPointer<PluginCallback> pluginCallback)
{
// the plugin callback allows the self-triggering of operateOnContainers
m_pluginCallback = pluginCallback;
if (m_highlightNav) {
m_highlightNav->setPluginCallback(m_pluginCallback);
}
}

void KaitaiStruct::applyToWidget(QWidget *widget)
{
ui->setupUi(widget);

ui->pb_loadKsy->setMenu(m_loadKsyMenu);
Expand Down

0 comments on commit 58ce75b

Please sign in to comment.