arbeitsview.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef VIEW_H
  2. #define VIEW_H
  3. #include <QWidget>
  4. #include <QRubberBand>
  5. #include <QMouseEvent>
  6. #include <QPainter>
  7. #include <QList>
  8. #include <QTreeView>
  9. #include "frame.h"
  10. #include "model.h"
  11. #include "controller.h"
  12. /*
  13. * Verwaltet die Arbeitsfläche
  14. */
  15. class ArbeitsView : public QWidget
  16. {
  17. Q_OBJECT
  18. private:
  19. ArbeitsModel * m;
  20. ArbeitsController *c;
  21. QRubberBand *selectArea;
  22. // Zeichnet die View neu
  23. void paintEvent(QPaintEvent *e) override;
  24. public:
  25. explicit ArbeitsView(ArbeitsModel *model,
  26. QWidget *parent = nullptr);
  27. ~ArbeitsView();
  28. // Setzt den Controller, der die Nutzereingaben verarbeiten soll
  29. void setController(ArbeitsController *controller);
  30. // Leitet nutzereingaben an den Controller weiter
  31. void wheelEvent(QWheelEvent *e) override;
  32. // Leitet nutzereingaben an den Controller weiter
  33. void mouseReleaseEvent(QMouseEvent *e) override;
  34. // Leitet nutzereingaben an den Controller weiter
  35. void mousePressEvent(QMouseEvent *e) override;
  36. // Leitet nutzereingaben an den Controller weiter
  37. void mouseMoveEvent(QMouseEvent *e) override;
  38. // Zeigt tooltip für Objekte an
  39. bool event(QEvent *e) override;
  40. };
  41. #endif // VIEW_H