== Textual description ==
[MGame|| signal sendDebugInfo(QString); signal invalidMove(QPoint QPoint); slots newGame(); slot jumpToStart(); slot prevMove(); slot nextMove(); slot jumpToEnd(); slot rotateBlackPieces(); slot rotateWhitePieces();]++1-2>[MActionArea|| signal moveConfirmed(); signal pieceSelectionCancelled();],
[MGame]+1-1>[MBoardView|| signal pieceSelectionRequested(QPoint); signal pieceMoveRequested(QPoint QPoint); signal sendDebugInfo(QString);],
[MMainWindow|| slot appendDebugOutput(); slot toggleDebugOutput(); slot showAboutDialog();]++1-1>[MBoardView],
[MMainWindow]++1-1>[MGame],
[MBoardView]++1-1>[MGraphicsBoardItem|| signal pieceMoveRequested(QPoint QPoint); signal pieceSelectionRequested(QPoint); signal sendDebugInfo(QString);],
[QGraphicsView]^[MBoardView],
[QGraphicsObject]^[MGraphicsBoardItem],
[QMainWindow]^[MMainWindow],
[QObject]^[MActionArea],
[QObject]^[MGame],
[MGame]-*>[MPosition],
[MBoardView]-1>[MPosition],
[MGame]->[MPiece],
[MPosition]->[MPiece],
[MBoardView]->[MPiece],
[MPiece]^[MRook|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],
[MPiece]^[MKnight|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],
[MPiece]^[MBishop|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],
[MPiece]^[MQueen|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],
[MPiece]^[MKing|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],
[MPiece]^[MPawn|static QSvgRenderer blackRenderer; static QSvgRenderer whiteRenderer;],

== Link ==
http://yuml.me/diagram/class/%5BMGame%7C%7C%20signal%20sendDebugInfo%28QString%29%3B%20signal%20invalidMove%28QPoint%20QPoint%29%3B%20slots%20newGame%28%29%3B%20slot%20jumpToStart%28%29%3B%20slot%20prevMove%28%29%3B%20slot%20nextMove%28%29%3B%20slot%20jumpToEnd%28%29%3B%20slot%20rotateBlackPieces%28%29%3B%20slot%20rotateWhitePieces%28%29%3B%5D++1-2%3E%5BMActionArea%7C%7C%20signal%20moveConfirmed%28%29%3B%20signal%20pieceSelectionCancelled%28%29%3B%5D%2C%20%5BMGame%5D+1-1%3E%5BMBoardView%7C%7C%20signal%20pieceSelectionRequested%28QPoint%29%3B%20signal%20pieceMoveRequested%28QPoint%20QPoint%29%3B%20signal%20sendDebugInfo%28QString%29%3B%5D%2C%20%5BMMainWindow%7C%7C%20slot%20appendDebugOutput%28%29%3B%20slot%20toggleDebugOutput%28%29%3B%20slot%20showAboutDialog%28%29%3B%5D++1-1%3E%5BMBoardView%5D%2C%20%5BMMainWindow%5D++1-1%3E%5BMGame%5D%2C%20%5BMBoardView%5D++1-1%3E%5BMGraphicsBoardItem%7C%7C%20signal%20pieceMoveRequested%28QPoint%20QPoint%29%3B%20signal%20pieceSelectionRequested%28QPoint%29%3B%20signal%20sendDebugInfo%28QString%29%3B%5D%2C%20%5BQGraphicsView%5D%5E%5BMBoardView%5D%2C%20%5BQGraphicsObject%5D%5E%5BMGraphicsBoardItem%5D%2C%20%5BQMainWindow%5D%5E%5BMMainWindow%5D%2C%20%5BQObject%5D%5E%5BMActionArea%5D%2C%20%5BQObject%5D%5E%5BMGame%5D%2C%20%5BMGame%5D-*%3E%5BMPosition%5D%2C%20%5BMBoardView%5D-1%3E%5BMPosition%5D%2C%20%5BMGame%5D-%3E%5BMPiece%5D%2C%20%5BMPosition%5D-%3E%5BMPiece%5D%2C%20%5BMBoardView%5D-%3E%5BMPiece%5D%2C%20%5BMPiece%5D%5E%5BMRook%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C%20%5BMPiece%5D%5E%5BMKnight%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C%20%5BMPiece%5D%5E%5BMBishop%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C%20%5BMPiece%5D%5E%5BMQueen%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C%20%5BMPiece%5D%5E%5BMKing%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C%20%5BMPiece%5D%5E%5BMPawn%7Cstatic%20QSvgRenderer%20blackRenderer%3B%20static%20QSvgRenderer%20whiteRenderer%3B%5D%2C
