47 lines
1.7 KiB
C
47 lines
1.7 KiB
C
![]() |
/* 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();
|
||
|
};
|
||
|
|