mainwindow.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include "arbeitsview.h"
  5. #include "sequenz.h"
  6. #include <QLabel>
  7. #include "frametreemodel.h"
  8. #include <QItemSelection>
  9. #include <QApplication>
  10. namespace Ui {
  11. class MainWindow;
  12. }
  13. class MainWindow : public QMainWindow
  14. {
  15. Q_OBJECT
  16. public:
  17. explicit MainWindow(QApplication *app, QWidget *parent = 0);
  18. ~MainWindow();
  19. // Erstellt den Navigationsbaum
  20. void setupFrameTree();
  21. // Aktualisiert die Ausgefählten Objekte im Navigationsbaum
  22. void setFrameTreeSelection();
  23. // Zeichnet den Navigazionsbaum neu
  24. void repaintFrameTree();
  25. // Setzt den Controller der Arbeitsfläche
  26. void setMode( UserMode m );
  27. // Gibt die geladene Sequenz zurück
  28. Sequenz *getSequenz();
  29. private slots:
  30. // Öffnet eine Sequenz
  31. void on_actionOpen_triggered();
  32. // Wechselt zum nächsten Bild
  33. void on_actionNext_triggered();
  34. // Wechselt zum vorherigen Bild
  35. void on_actionBefore_triggered();
  36. // Wechselt zum nächsten Bild
  37. void on_next_clicked();
  38. // Wechselt zum vorherigen Bild
  39. void on_before_clicked();
  40. // Setzt die Vergrößerung der Arbeitsfläche zurück
  41. void on_zoom_out_clicked();
  42. // Wechselt in den ZOOM_IN Modus
  43. void on_zoom_in_clicked();
  44. // Wechselt in den DELETE Modus
  45. void on_remove_clicked();
  46. // Wechselt in den NEW Modus
  47. void on_polygon_clicked();
  48. // Wechselt in den MOVE Modus
  49. void on_move_clicked();
  50. // Wechselt zum angeklickten Bild des Navigationsbaumes
  51. void on_framesTree_clicked(const QModelIndex &index);
  52. // Wechselt in den SELECT Modus
  53. void on_select_clicked();
  54. // Zeigt ein Rechtsklick Menü im Navigationsbaum an
  55. void on_framesTree_customContextMenuRequested(const QPoint &pos);
  56. // Speichert die geladene Sequenz
  57. void on_actionSave_triggered();
  58. // Wechselt in den Modus PIPETTE_SELECT
  59. void on_pipette_clicked();
  60. // Wechselt in den CUT Modus
  61. void on_cut_clicked();
  62. // Zeigt die Option zum einstellen der Serveradresse an
  63. void on_actionServer_address_triggered();
  64. // Zeigt die Klassen Verwaltungsoberfläche an
  65. void on_actionKlassen_verwalten_triggered();
  66. // Zeigt ein Rechtsklick Menü auf der Arbeitsfläche an
  67. void on_viewWidget_customContextMenuRequested(const QPoint &pos);
  68. // Setzt das anzeigen der Maske in der Arbeitsfläche
  69. void on_actionMake_anzeigen_toggled(bool checked);
  70. // Setzt die Option des einfärbens von Objekten in der Arbeitsfläche
  71. void on_actionObjekte_faerben_triggered(bool checked);
  72. // Setzt die Option des Anzeigens von IDs in der Arbeitsfläche
  73. void on_actionIDs_anzeigen_triggered(bool checked);
  74. // Zeigt die Maskenbearbeitungsoberfläche
  75. void on_actionMaske_bearbeiten_triggered();
  76. // zeigt die intelligente Id Bearbeitungsoberfläche an
  77. void on_actionIDs_bearbeiten_triggered();
  78. private:
  79. // Wählt alle Buttons für die Werkzeuge ab
  80. void unselectButttons();
  81. // Fragt nach Vorabannotationen beim Server
  82. void requestFromServer();
  83. ArbeitsModel *workModel; // Das Model der Arbaits View
  84. ArbeitsView *v; // Die Arbeitsview
  85. Ui::MainWindow *ui; // Ein zeiger auf die Objekte, welche in mainwindow.ui spezifiziert sind
  86. Sequenz *seq; // Die annotierte Bildsequenz
  87. QLabel *status; // Der Status Text
  88. FrameTreeModel *m; // Ein Wrapper der Sequenz für die QTreeView
  89. QString serverAddress; // Die Adresse des Annotations Servers
  90. QMenu *contextMenu; // Ein Kontextmenü, das beim rechtsklick erscheint
  91. QApplication *app; // Die QT Application
  92. };
  93. #endif // MAINWINDOW_H