HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::GuiExtensionContext Class Reference

#include </home/runner/work/hal/hal/plugins/gui_extension_demo/include/gui_extension_demo/plugin_gui_extension_demo.h>

Inheritance diagram for hal::GuiExtensionContext:
Inheritance graph
Collaboration diagram for hal::GuiExtensionContext:
Collaboration graph

Public Member Functions

 GuiExtensionContext ()
 
 ~GuiExtensionContext ()
 
std::vector< ContextMenuContributionget_context_contribution (const Netlist *nl, const std::vector< u32 > &mods, const std::vector< u32 > &gats, const std::vector< u32 > &nets) override
 
void execute_function (std::string tag, Netlist *nl, const std::vector< u32 > &mods, const std::vector< u32 > &gats, const std::vector< u32 > &nets) override
 
std::vector< PluginParameterget_parameter () const override
 
void set_parameter (const std::vector< PluginParameter > &params) override
 
void add_module_context (GuiExtensionPythonBase *plug, const std::string tagname, const std::string label)
 
void add_gate_context (GuiExtensionPythonBase *plug, const std::string tagname, const std::string label)
 
void add_net_context (GuiExtensionPythonBase *plug, const std::string tagname, const std::string label)
 
void add_main_menu (GuiExtensionPythonBase *plug, const std::vector< PluginParameter > &params)
 
void clear ()
 
- Public Member Functions inherited from hal::GuiExtensionInterface
 GuiExtensionInterface (const std::string &toplabel=std::string())
 
virtual ~GuiExtensionInterface ()
 
virtual void register_progress_indicator (std::function< void(int, const std::string &)> pif)
 
virtual void netlist_loaded (Netlist *nl)
 
virtual void netlist_about_to_close (Netlist *nl)
 
bool is_contribution_enabled () const
 
void set_contribution_enabled (bool enabled)
 
std::string contribution_top_label () const
 
- Public Member Functions inherited from hal::AbstractExtensionInterface
 AbstractExtensionInterface ()
 
virtual ~AbstractExtensionInterface ()
 

Static Public Attributes

static GuiExtensionContextsInstance = nullptr
 

Detailed Description

Demonstrates how a plugin can add entries to the context menus of the GUI.

Definition at line 44 of file plugin_gui_extension_demo.h.

Constructor & Destructor Documentation

◆ GuiExtensionContext()

hal::GuiExtensionContext::GuiExtensionContext ( )

Definition at line 57 of file plugin_gui_extension_demo.cpp.

References sInstance.

◆ ~GuiExtensionContext()

hal::GuiExtensionContext::~GuiExtensionContext ( )

Definition at line 62 of file plugin_gui_extension_demo.cpp.

References sInstance.

Member Function Documentation

◆ add_gate_context()

void hal::GuiExtensionContext::add_gate_context ( GuiExtensionPythonBase plug,
const std::string  tagname,
const std::string  label 
)

◆ add_main_menu()

void hal::GuiExtensionContext::add_main_menu ( GuiExtensionPythonBase plug,
const std::vector< PluginParameter > &  params 
)

◆ add_module_context()

void hal::GuiExtensionContext::add_module_context ( GuiExtensionPythonBase plug,
const std::string  tagname,
const std::string  label 
)

◆ add_net_context()

void hal::GuiExtensionContext::add_net_context ( GuiExtensionPythonBase plug,
const std::string  tagname,
const std::string  label 
)

◆ clear()

void hal::GuiExtensionContext::clear ( )

Definition at line 67 of file plugin_gui_extension_demo.cpp.

Referenced by hal::GuiExtensionPythonBase::clear().

◆ execute_function()

void hal::GuiExtensionContext::execute_function ( std::string  tag,
Netlist nl,
const std::vector< u32 > &  mods,
const std::vector< u32 > &  gats,
const std::vector< u32 > &  nets 
)
overridevirtual

Call from GUI to execute function. This function gets called when user selected a plugin contribution (see get_context_contribution) in context menu of GUI graphical netlist view or when user clicked a push button in contributed plugin menu

Parameters
[in]tag- The function tagname (unique identifier)
[in]nl- The current netlist in GUI
[in]mods- List of selected modules
[in]gats- List of selected gates
[in]nets- List of selected nets

Reimplemented from hal::GuiExtensionInterface.

Definition at line 96 of file plugin_gui_extension_demo.cpp.

◆ get_context_contribution()

std::vector< ContextMenuContribution > hal::GuiExtensionContext::get_context_contribution ( const Netlist nl,
const std::vector< u32 > &  mods,
const std::vector< u32 > &  gats,
const std::vector< u32 > &  nets 
)
overridevirtual

Contribution to context menu. This function gets called when a context menu in GUI graphical netlist view pops up. Plugins that want to add their own entries in context menu will return one ContextMenuContribution record per entry line.

Parameters
[in]nl- The current netlist in GUI
[in]mods- List of selected modules
[in]gats- List of selected gates
[in]nets- List of selected nets
Returns

Reimplemented from hal::GuiExtensionInterface.

Definition at line 76 of file plugin_gui_extension_demo.cpp.

◆ get_parameter()

std::vector< PluginParameter > hal::GuiExtensionContext::get_parameter ( ) const
overridevirtual

Get list of configurable parameter

Returns
List of configurable parameter

Reimplemented from hal::GuiExtensionInterface.

Definition at line 113 of file plugin_gui_extension_demo.cpp.

Referenced by hal::GuiExtensionPythonBase::get_parameter().

◆ set_parameter()

void hal::GuiExtensionContext::set_parameter ( const std::vector< PluginParameter > &  params)
overridevirtual

Set values for configurable parameter

Parameters
[in]params- List of configurable parameter with values

Reimplemented from hal::GuiExtensionInterface.

Definition at line 118 of file plugin_gui_extension_demo.cpp.

Member Data Documentation

◆ sInstance


The documentation for this class was generated from the following files: