From e6ca4b4568e311b47239bfe83de15ed9e91c57b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Fri, 15 Dec 2017 22:45:28 +0100 Subject: Implement few initial graphic elements --- qtmips_gui/coreview/multiplexer.h | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 qtmips_gui/coreview/multiplexer.h (limited to 'qtmips_gui/coreview/multiplexer.h') diff --git a/qtmips_gui/coreview/multiplexer.h b/qtmips_gui/coreview/multiplexer.h new file mode 100644 index 0000000..6aa11a6 --- /dev/null +++ b/qtmips_gui/coreview/multiplexer.h @@ -0,0 +1,41 @@ +#ifndef MULTIPLEXER_H +#define MULTIPLEXER_H + +#include +#include "qtmipsexception.h" +#include "../coreview.h" +#include "connection.h" + +namespace coreview { + +class Multiplexer : public QGraphicsItem { +public: + Multiplexer(unsigned size); + ~Multiplexer(); + + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + + void setPos(qreal x, qreal y); + const Connector *connector_ctl() const; // Control input + const Connector *connector_out() const; // Output + const Connector *connector_in(unsigned i) const; // Inputs + + void set(unsigned i); // Set what value should be set as connected + void setCtl(bool up); // Set if control signal is from up or down (in default down) + +private: + bool ctlfrom; + unsigned size, seton; + Connector *con_ctl, *con_out, **con_in; +}; + +} + +#else + +namespace coreview { + class Multiplexer; +} + +#endif // MULTIPLEXER_H -- cgit v1.2.3