diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-04-01 15:25:52 +0200 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-04-01 15:25:52 +0200 |
commit | 1afbebb7748f44f05ae76539a4d2f382a371ff00 (patch) | |
tree | bbaf3a78a3f89f2e2b98929af2fe5ca2d5749e51 /qtmips_gui/coreview/multiplexer.cpp | |
parent | 1475013c743058a5b111d75b8e9115a996ead907 (diff) | |
download | qtmips-1afbebb7748f44f05ae76539a4d2f382a371ff00.tar.gz qtmips-1afbebb7748f44f05ae76539a4d2f382a371ff00.tar.bz2 qtmips-1afbebb7748f44f05ae76539a4d2f382a371ff00.zip |
Coreview multiplexers updated and added for branch compare forward.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_gui/coreview/multiplexer.cpp')
-rw-r--r-- | qtmips_gui/coreview/multiplexer.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/qtmips_gui/coreview/multiplexer.cpp b/qtmips_gui/coreview/multiplexer.cpp index f0eebef..bd2fbd9 100644 --- a/qtmips_gui/coreview/multiplexer.cpp +++ b/qtmips_gui/coreview/multiplexer.cpp @@ -45,9 +45,9 @@ using namespace coreview; #define PENW 1 ////////////////////// -Multiplexer::Multiplexer(unsigned size, bool ctl_up) { +Multiplexer::Multiplexer(unsigned size, bool ctl_up): QGraphicsObject(nullptr) { this->size = size; - seton = 0; + seton = -1; ctlfrom = ctl_up; con_ctl = new Connector(Connector::AX_Y); con_out = new Connector(Connector::AX_X); @@ -72,9 +72,9 @@ QRectF Multiplexer::boundingRect() const { } void Multiplexer::paint(QPainter *painter, const QStyleOptionGraphicsItem *option __attribute__((unused)), QWidget *widget __attribute__((unused))) { - painter->setPen(QColor(200, 200, 200)); - if (seton > 0 && seton <= size) - painter->drawLine(0, (HEIGHT / 2) + ((seton - 1) * GAP), WIDTH, C_HEIGHT / 2); + painter->setPen(QPen(QColor(200, 200, 200), 2)); + if (seton >= 0 && seton < (int)size) + painter->drawLine(0, (HEIGHT / 2) + (seton * GAP), WIDTH, C_HEIGHT / 2); painter->setPen(QColor(0, 0, 0)); const QPointF poly[] = { @@ -110,8 +110,10 @@ const Connector *Multiplexer::connector_in(unsigned i) const { return con_in[i]; } -void Multiplexer::set(unsigned i) { - seton = i; - update(); +void Multiplexer::set(std::uint32_t i) { + if (seton != (int)i) { + seton = (int)i; + update(); + } } |