#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include "arbeitsview.h" #include "sequenz.h" #include #include "frametreemodel.h" #include #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QApplication *app, QWidget *parent = 0); ~MainWindow(); // Erstellt den Navigationsbaum void setupFrameTree(); // Aktualisiert die Ausgefählten Objekte im Navigationsbaum void setFrameTreeSelection(); // Zeichnet den Navigazionsbaum neu void repaintFrameTree(); // Setzt den Controller der Arbeitsfläche void setMode( UserMode m ); // Gibt die geladene Sequenz zurück Sequenz *getSequenz(); private slots: // Öffnet eine Sequenz void on_actionOpen_triggered(); // Wechselt zum nächsten Bild void on_actionNext_triggered(); // Wechselt zum vorherigen Bild void on_actionBefore_triggered(); // Wechselt zum nächsten Bild void on_next_clicked(); // Wechselt zum vorherigen Bild void on_before_clicked(); // Setzt die Vergrößerung der Arbeitsfläche zurück void on_zoom_out_clicked(); // Wechselt in den ZOOM_IN Modus void on_zoom_in_clicked(); // Wechselt in den DELETE Modus void on_remove_clicked(); // Wechselt in den NEW Modus void on_polygon_clicked(); // Wechselt in den MOVE Modus void on_move_clicked(); // Wechselt zum angeklickten Bild des Navigationsbaumes void on_framesTree_clicked(const QModelIndex &index); // Wechselt in den SELECT Modus void on_select_clicked(); // Zeigt ein Rechtsklick Menü im Navigationsbaum an void on_framesTree_customContextMenuRequested(const QPoint &pos); // Speichert die geladene Sequenz void on_actionSave_triggered(); // Wechselt in den Modus PIPETTE_SELECT void on_pipette_clicked(); // Wechselt in den CUT Modus void on_cut_clicked(); // Zeigt die Option zum einstellen der Serveradresse an void on_actionServer_address_triggered(); // Zeigt die Klassen Verwaltungsoberfläche an void on_actionKlassen_verwalten_triggered(); // Zeigt ein Rechtsklick Menü auf der Arbeitsfläche an void on_viewWidget_customContextMenuRequested(const QPoint &pos); // Setzt das anzeigen der Maske in der Arbeitsfläche void on_actionMake_anzeigen_toggled(bool checked); // Setzt die Option des einfärbens von Objekten in der Arbeitsfläche void on_actionObjekte_faerben_triggered(bool checked); // Setzt die Option des Anzeigens von IDs in der Arbeitsfläche void on_actionIDs_anzeigen_triggered(bool checked); // Zeigt die Maskenbearbeitungsoberfläche void on_actionMaske_bearbeiten_triggered(); // zeigt die intelligente Id Bearbeitungsoberfläche an void on_actionIDs_bearbeiten_triggered(); private: // Wählt alle Buttons für die Werkzeuge ab void unselectButttons(); // Fragt nach Vorabannotationen beim Server void requestFromServer(); ArbeitsModel *workModel; // Das Model der Arbaits View ArbeitsView *v; // Die Arbeitsview Ui::MainWindow *ui; // Ein zeiger auf die Objekte, welche in mainwindow.ui spezifiziert sind Sequenz *seq; // Die annotierte Bildsequenz QLabel *status; // Der Status Text FrameTreeModel *m; // Ein Wrapper der Sequenz für die QTreeView QString serverAddress; // Die Adresse des Annotations Servers QMenu *contextMenu; // Ein Kontextmenü, das beim rechtsklick erscheint QApplication *app; // Die QT Application }; #endif // MAINWINDOW_H