Blame | Last modification | View Log | Download | RSS feed
#ifndef WIRE_H#define WIRE_H#include "GlobalDefines.h"#include "Gate_BASE.h"#define SELECTION_WIDTH 10class Gate_BASE;class Canvas;class Wire : public QGraphicsObject{Q_OBJECTpublic:Wire(QGraphicsItem *parent = 0);~Wire();QRectF boundingRect() const;QPainterPath shape() const;void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);void setPoints(Gate_BASE *source, Gate_BASE *sink, int sinkID);void setPenColor(QColor color);void setHighlight(bool state, QColor color);void setValue(logicValue value, logicValue faultyValue, bool recurse = true);Gate_BASE *gateOutput;Gate_BASE *gateInput;int gateInputID;logicValue wireValue;logicValue wireFaultyValue;signals:void updateStatus(QString status);public slots:void promptValue();void promptFaultyValue();void reset();void toggleShowValues();protected:virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);private:void createActions();QAction *injectValueAction;QAction *injectFaultAction;QAction *resetValuesAction;QString valueString;bool auxSelected;bool showValues;QPen defaultPen;QBrush defaultBrush;QPen selectedPen;QPen highlightedPen;QFont defaultFont;QRectF textRect;QRectF bRect;QPainterPath shapeArea;QPainterPath line;QList<QPointF> linePoints;#ifdef _DEBUGQPen debugPen;QBrush debugBrush;QPen debugSelectedPen;QPen debugErrorPen;#endif};#endif // WIRE_H