|
|
|
|
|
|
|
|
/* CIRCLEELEMENT_H |
|
|
|
|
|
* CLASS DECLARATION |
|
|
|
|
|
* |
|
|
|
|
|
* CHANGLOG: |
|
|
|
|
|
* NAME: | CHANGES: | DATE: | |
|
|
|
|
|
* Mewes, Lars | Neuerstellung | 24.09.2021 | |
|
|
|
|
|
* | | | |
|
|
|
|
|
* | | | |
|
|
|
|
|
* | | | |
|
|
|
|
|
* |
|
|
|
|
|
* DESCRIPTION: |
|
|
|
|
|
* Diese Klasse "CircleElement" realisiert die einzelnen, farbigen Kreise des Quintenzirkels "CircleOfFifths". |
|
|
|
|
|
* 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. |
|
|
|
|
|
* (siehe dazu die Qt-Dokumentation) |
|
|
|
|
|
* Für die graphische Darstellung erbt die "CircleElement"-Klasse von "QGraphicsEllipseItem". Diese Klasse stellt alle wichtigen Funktionen und Attribute |
|
|
|
|
|
* für die Darstellung in einer "QGraphicsScene" zur Verfügung (siehe Klassendeklaration "CircleOfFifths") |
|
|
|
|
|
* |
|
|
|
|
|
* der Slot "void redraw();" wird ausgelöst, sobald (z.B. mittels Color-Picker) die Farbe eines Tons geändert wird. (siehe Klassendeklaration "Tone") |
|
|
|
|
|
* |
|
|
|
|
|
* TO-DOs: |
|
|
|
|
|
* Beschriftung auf den Elementen ergänzen |
|
|
|
|
|
* |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
#include <QGraphicsEllipseItem> |
|
|
|
|
|
#include "Tone.h" |
|
|
|
|
|
|
|
|
|
|
|
class CircleElement:public QObject, public QGraphicsEllipseItem{ |
|
|
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
|
|
|
|
Tone * tone; |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
|
CircleElement(Tone * tone); |
|
|
|
|
|
CircleElement(); |
|
|
|
|
|
|
|
|
|
|
|
Tone * getTone()const; |
|
|
|
|
|
|
|
|
|
|
|
virtual ~CircleElement(); |
|
|
|
|
|
|
|
|
|
|
|
public slots: |
|
|
|
|
|
|
|
|
|
|
|
void redraw(); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|