HAL
v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
plugin_waveform_viewer.cpp
Go to the documentation of this file.
1
#include "
waveform_viewer/plugin_waveform_viewer.h
"
2
3
#include "
hal_core/netlist/netlist_writer/netlist_writer_manager.h
"
4
#include "
waveform_viewer/waveform_viewer.h
"
5
#include "
gui/content_manager/content_manager.h
"
6
#include "
gui/gui_globals.h
"
7
#include <QDebug>
8
9
namespace
hal
10
{
11
extern
std::unique_ptr<BasePluginInterface>
create_plugin_instance
()
12
{
13
return
std::make_unique<WaveformViewerPlugin>();
14
}
15
16
std::string
WaveformViewerPlugin::get_name
()
const
17
{
18
return
std::string(
"waveform_viewer"
);
19
}
20
21
std::string
WaveformViewerPlugin::get_version
()
const
22
{
23
return
std::string(
"0.7"
);
24
}
25
26
std::string
WaveformViewerPlugin::get_description
()
const
27
{
28
return
std::string(
"GUI to control simulation and view resulting waveforms"
);
29
}
30
31
std::set<std::string>
WaveformViewerPlugin::get_dependencies
()
const
32
{
33
std::set<std::string> retval;
34
retval.insert(
"netlist_simulator_controller"
);
35
retval.insert(
"hal_gui"
);
36
return
retval;
37
}
38
39
void
WaveformViewerPlugin::on_load
()
40
{
41
qRegisterMetaType<std::string>();
42
qRegisterMetaType<hal::NetlistSimulatorController::SimulationState>();
43
WaveformViewerFactory
* wvFactory =
new
WaveformViewerFactory
(
QString::fromStdString
(
get_name
()));
44
ExternalContent::instance
()->
append
(wvFactory);
45
if
(
gNetlist
)
gContentManager
->
addExternalWidget
(wvFactory);
46
}
47
48
void
WaveformViewerPlugin::on_unload
()
49
{
50
QString
pluginName =
QString::fromStdString
(
get_name
());
51
ExternalContent::instance
()->
removePlugin
(pluginName);
52
}
53
}
// namespace hal
hal::ContentManager::addExternalWidget
void addExternalWidget(ContentFactory *factory)
Definition:
content_manager.cpp:299
hal::ExternalContent::instance
static ExternalContent * instance()
Definition:
content_manager.cpp:46
hal::ExternalContent::removePlugin
void removePlugin(const QString &pluginName)
Definition:
content_manager.cpp:53
hal::WaveformViewerFactory
Definition:
waveform_viewer.h:66
hal::WaveformViewerPlugin::get_description
std::string get_description() const override
Definition:
plugin_waveform_viewer.cpp:26
hal::WaveformViewerPlugin::on_unload
void on_unload() override
Definition:
plugin_waveform_viewer.cpp:48
hal::WaveformViewerPlugin::get_dependencies
std::set< std::string > get_dependencies() const override
Definition:
plugin_waveform_viewer.cpp:31
hal::WaveformViewerPlugin::on_load
void on_load() override
Definition:
plugin_waveform_viewer.cpp:39
hal::WaveformViewerPlugin::get_name
std::string get_name() const override
Definition:
plugin_waveform_viewer.cpp:16
hal::WaveformViewerPlugin::get_version
std::string get_version() const override
Definition:
plugin_waveform_viewer.cpp:21
content_manager.h
gui_globals.h
hal
Definition:
defines.h:45
hal::gContentManager
ContentManager * gContentManager
Definition:
plugin_gui.cpp:78
hal::create_plugin_instance
std::unique_ptr< BasePluginInterface > create_plugin_instance()
Definition:
plugin_bitorder_propagation.cpp:10
hal::gNetlist
Netlist * gNetlist
Definition:
gui_globals.h:69
netlist_writer_manager.h
plugin_waveform_viewer.h
QList::append
void append(const T &value)
QString
QString::fromStdString
QString fromStdString(const std::string &str)
waveform_viewer.h
plugins
simulator
waveform_viewer
src
plugin_waveform_viewer.cpp
Generated by
1.9.1