#ifndef CLASSOPTIONS_H #define CLASSOPTIONS_H #include #include #include "sequenz.h" namespace Ui { class ClassOptions; } /* * Verwaltet den GUI Dialog, welcher zur Verwaltung der Objekt Klassen verwendet *wird */ class ClassOptions : public QDialog { Q_OBJECT /* * Ein Eintrag in der Editierbaren Liste mit Klassen */ struct ListItem { int id; // Die Id der Klasse des Eintrags QListWidgetItem *item; // Der Listeneintrag }; public: // erstellt den DIalog // seq: Die Sequenz, welche momentan annotiert wird // parent: Das Eltern QWidget von Qt explicit ClassOptions(Sequenz *seq, QWidget *parent = 0); ~ClassOptions(); private slots: // Erstellt eine neue Klasse von Objekten void on_newClass_clicked(); // Löscht eine Klasse von Objekten void on_removeClass_clicked(); // Erlaubt das Klicken auf Löschen void on_classList_itemSelectionChanged(); // Benennt die ausgewählte Klasse um void on_classList_itemChanged(QListWidgetItem *item); // Beendet das Verwalten der Klassen void on_fertig_clicked(); private: // Gibt den Index einer Klasse aus der Liste zurück int getItemId(QListWidgetItem *item); Sequenz *seq; // Ein zeiger auf die annotierte Bildsequenz QList items; // Eine Liste mit Listeneinträgen Ui::ClassOptions *ui; // Ein Zeiger auf alle in classoptions.ui spezifizierten Objekte }; #endif // CLASSOPTIONS_H