HAL
module_shader.cpp
Go to the documentation of this file.
2 
4 
6 #include "gui/gui_globals.h"
7 
8 namespace hal
9 {
10  QColor ModuleShader::sDebugNetColor = QColor(200, 200, 200);
11 
12  ModuleShader::ModuleShader(const GraphContext* const context) : GraphShader(context),
13  mColorGates(true) // INITIALIZE WITH DEFAULT VALUE FROM SETTINGS
14  {
15  }
16 
18  {
19  sDebugNetColor = color;
20  }
21 
22  void ModuleShader::add(const QSet<u32> modules, const QSet<u32> gates, const QSet<u32> nets)
23  {
24  Q_UNUSED(modules)
25  Q_UNUSED(gates)
26  Q_UNUSED(nets)
27  }
28 
29  void ModuleShader::remove(const QSet<u32> modules, const QSet<u32> gates, const QSet<u32> nets)
30  {
31  Q_UNUSED(modules)
32  Q_UNUSED(gates)
33  Q_UNUSED(nets)
34  }
35 
37  {
38  mShading.mOduleVisuals.clear();
39  mShading.mGateVisuals.clear();
40  mShading.mNetVisuals.clear();
41 
42  for (const u32& id : mContext->modules())
43  {
46  v.mVisible = true;
47  mShading.mOduleVisuals.insert(id, v);
48  }
49 
50  if (mColorGates)
51  {
52  for (const u32& id : mContext->gates())
53  {
54  Gate* g = gNetlist->get_gate_by_id(id);
55  assert(g);
56 
57  Module* m = g->get_module();
58  assert(m);
59 
62  v.mVisible = true;
63  mShading.mGateVisuals.insert(id, v);
64  }
65  }
66 
67  // DEBUG CODE
68  for (const u32& id : mContext->nets())
69  {
70  GraphicsNet::Visuals v{true, sDebugNetColor, Qt::SolidLine, true, QColor(100, 100, 100), Qt::SolidPattern};
71  mShading.mNetVisuals.insert(id, v);
72  }
73  }
74 }
Definition: gate.h:58
Logical container for modules, gates, and nets.
Definition: graph_context.h:55
const QSet< u32 > & gates() const
const QSet< u32 > & modules() const
const QSet< u32 > & nets() const
Base class to store and update visual information about the graph.
Definition: graph_shader.h:47
const GraphContext *const mContext
Definition: graph_shader.h:66
u32 get_id() const
Definition: module.cpp:82
void add(const QSet< u32 > modules, const QSet< u32 > gates, const QSet< u32 > nets) override
static void debugSetNetColor(const QColor &color)
ModuleShader(const GraphContext *const context)
void update() override
void remove(const QSet< u32 > modules, const QSet< u32 > gates, const QSet< u32 > nets) override
Gate * get_gate_by_id(const u32 gate_id) const
Definition: netlist.cpp:193
QColor getModuleColor(const u32 id)
Netlist * gNetlist
Definition: plugin_gui.cpp:80
NetlistRelay * gNetlistRelay
Definition: plugin_gui.cpp:81
quint32 u32
SolidPattern
SolidLine
QMap< u32, GraphicsNode::Visuals > mGateVisuals
Definition: graph_shader.h:52
QMap< u32, GraphicsNet::Visuals > mNetVisuals
Definition: graph_shader.h:53
QMap< u32, GraphicsNode::Visuals > mOduleVisuals
Definition: graph_shader.h:51