| 42 | } |
| 43 | |
| 44 | void NodeWidget::paintEvent(QPaintEvent*) { |
| 45 | QPainter painter(this); |
| 46 | painter.setRenderHint(QPainter::Antialiasing); |
| 47 | int hw= width()/2; |
| 48 | int myx = hw+2; int myy = 2; |
| 49 | switch (status) { |
| 50 | case SOLVED: |
| 51 | { |
| 52 | QPoint points[4] = {QPoint(myx,myy), |
| 53 | QPoint(myx+8,myy+8), |
| 54 | QPoint(myx,myy+16), |
| 55 | QPoint(myx-8,myy+8) |
| 56 | }; |
| 57 | painter.setBrush(QBrush(DrawingCursor::green)); |
| 58 | painter.drawConvexPolygon(points, 4); |
| 59 | } |
| 60 | break; |
| 61 | case FAILED: |
| 62 | { |
| 63 | painter.setBrush(QBrush(DrawingCursor::red)); |
| 64 | painter.drawRect(myx-6, myy+2, 12, 12); |
| 65 | } |
| 66 | break; |
| 67 | case BRANCH: |
| 68 | { |
| 69 | painter.setBrush(QBrush(DrawingCursor::blue)); |
| 70 | painter.drawEllipse(myx-8, myy, 16, 16); |
| 71 | } |
| 72 | break; |
| 73 | case UNDETERMINED: |
| 74 | { |
| 75 | painter.setBrush(QBrush(Qt::white)); |
| 76 | painter.drawEllipse(myx-8, myy, 16, 16); |
| 77 | } |
| 78 | break; |
| 79 | default: |
| 80 | break; |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | }} |
| 85 | |