#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "ui_graphics.h" #include #include #include class Area : public QGraphicsRectItem { public: explicit Area (QGraphicsItem * parent = 0); // QGraphicsItem interface protected: void dragEnterEvent (QGraphicsSceneDragDropEvent * event); void dropEvent (QGraphicsSceneDragDropEvent * event); }; class ColorButton : public QToolButton { Q_OBJECT public: explicit ColorButton (QWidget * parent = 0); void setColor (QColor p_color); private: QColor color; // QWidget interface protected: void mousePressEvent (QMouseEvent * event); }; class ShapeButton : public QToolButton { Q_OBJECT public: explicit ShapeButton (QWidget * parent = 0); public: QString name; // QWidget interface protected: void mousePressEvent (QMouseEvent * event); }; class MainWindow : public QMainWindow, private Ui::MainWindow { Q_OBJECT public: explicit MainWindow (QWidget * parent = 0); void addColor (QString name); void addColors (); void addShape (QString name); void showItem (QTreeWidgetItem *target, QGraphicsItem *item); private slots: void on_toolButton_pressed (); void on_actionRun_triggered(); void on_actionQuit_triggered(); private: QGraphicsScene * scene; int shapeCount; int colorCount; }; #endif // MAINWINDOW_H