You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CircleElement.h 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* CIRCLEELEMENT_H
  2. * CLASS DECLARATION
  3. *
  4. * CHANGLOG:
  5. * NAME: | CHANGES: | DATE: |
  6. * Mewes, Lars | Neuerstellung | 24.09.2021 |
  7. * | | |
  8. * | | |
  9. * | | |
  10. *
  11. * DESCRIPTION:
  12. * Diese Klasse "CircleElement" realisiert die einzelnen, farbigen Kreise des Quintenzirkels "CircleOfFifths".
  13. * Um den Signal-Slot-Mechanismus von Qt nutzen zu können, ist sowohl die Ableitung von der "QObject"-Klasse, als auch das "Q_OBJECT"-Makro notwendig.
  14. * (siehe dazu die Qt-Dokumentation)
  15. * Für die graphische Darstellung erbt die "CircleElement"-Klasse von "QGraphicsEllipseItem". Diese Klasse stellt alle wichtigen Funktionen und Attribute
  16. * für die Darstellung in einer "QGraphicsScene" zur Verfügung (siehe Klassendeklaration "CircleOfFifths")
  17. *
  18. * der Slot "void redraw();" wird ausgelöst, sobald (z.B. mittels Color-Picker) die Farbe eines Tons geändert wird. (siehe Klassendeklaration "Tone")
  19. *
  20. * TO-DOs:
  21. * Beschriftung auf den Elementen ergänzen
  22. *
  23. */
  24. #pragma once
  25. #include <QGraphicsEllipseItem>
  26. #include "Tone.h"
  27. class CircleElement:public QObject, public QGraphicsEllipseItem{
  28. Q_OBJECT
  29. Tone * tone;
  30. public:
  31. CircleElement(Tone * tone);
  32. CircleElement();
  33. Tone * getTone()const;
  34. virtual ~CircleElement();
  35. public slots:
  36. void redraw();
  37. };