frametreemodel.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef FRAMETREEMODEL_H
  2. #define FRAMETREEMODEL_H
  3. #include <QAbstractItemModel>
  4. #include "sequenz.h"
  5. /*
  6. * Das Modell des Objekt Baumes, welches alle Daten enthält, die dort angezeigt werden sollen
  7. */
  8. class FrameTreeModel : public QAbstractItemModel
  9. {
  10. Q_OBJECT
  11. private:
  12. Sequenz *seq;
  13. // Prüft, ob ein Index valide ist
  14. bool isIndexValid( const QModelIndex &i ) const;
  15. public:
  16. explicit FrameTreeModel();
  17. ~FrameTreeModel();
  18. // Setzt die Sequenz, welche momenatan annotiert wird
  19. // s: die neue Sequenz
  20. void setSequenz( Sequenz *s );
  21. // Gibt zurück, was für einen bestimten Knoten angezeigt werden soll
  22. // index: Der Index des Knotens
  23. // role: Welche daten des Knotens abgefragt werden sollen (z.B.:Name oder Hintergrundfarbe...)
  24. QVariant data(const QModelIndex &index, int role) const override;
  25. // Gibt die Flags eines Knotens zurück
  26. // index: Der Index des Knotens
  27. Qt::ItemFlags flags(const QModelIndex &index) const override;
  28. // Gibt die Grunddaten zurück, welche für das zeichnen benötigt werden
  29. QVariant headerData(int section, Qt::Orientation orientation,
  30. int role = Qt::DisplayRole) const override;
  31. // gibt den Index eines Knotens zurück
  32. QModelIndex index(int row, int column,
  33. const QModelIndex &parent = QModelIndex()) const override;
  34. // gibt den Index des Elternknotens zurück
  35. QModelIndex parent(const QModelIndex &index) const override;
  36. // gibt die Anzahl der Kindknoten zurück
  37. int rowCount(const QModelIndex &parent = QModelIndex()) const override;
  38. // gibt die Anzahl der Attribute eines Kindknotens zurück
  39. int columnCount(const QModelIndex &parent = QModelIndex()) const override;
  40. // Ermittelt die zugehörige Kamera und das Zugehörige Bild eines Knotens
  41. bool clickedOnFrame( const QModelIndex &index, int &camera, int &frame ) const;
  42. // Gibt den Index des ausgewählten Bildes zurück
  43. QModelIndex getFrameSelectionIndex() const;
  44. // Gibt den Index der ausgewählten Kamera zurück
  45. QModelIndex getCameraSelectionIndex() const;
  46. // Gibt eine Liste mit ausgewählten Objekten zurück
  47. QList< QModelIndex > getSelectedPackages() const;
  48. // Aktualisiert die Tree View
  49. void update();
  50. };
  51. #endif // FRAMETREEMODEL_H