Tome
A generic data editor for games supporting arbitrary input and output formats.
projectoverviewwindow.h
1 #ifndef PROJECTOVERVIEWWINDOW_H
2 #define PROJECTOVERVIEWWINDOW_H
3 
4 #include <QDialog>
5 #include <QListWidgetItem>
6 
7 namespace Tome
8 {
9  class ComponentsController;
10  class ExportController;
11  class FieldDefinitionsController;
12  class ImportController;
13  class ProjectController;
14  class RecordsController;
15  class TypesController;
16 }
17 
18 namespace Ui
19 {
21 }
22 
26 class ProjectOverviewWindow : public QDialog
27 {
28  Q_OBJECT
29 
30  public:
42  explicit ProjectOverviewWindow(Tome::ProjectController& projectController,
43  Tome::ComponentsController& componentsController,
44  Tome::ExportController& exportController,
45  Tome::FieldDefinitionsController& fieldDefinitionsController,
46  Tome::ImportController& importController,
47  Tome::RecordsController& recordsController,
48  Tome::TypesController& typesController,
49  QWidget *parent = 0);
51 
52  protected:
57  virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
58 
59  private:
60  Ui::ProjectOverviewWindow *ui;
61 
62  Tome::ComponentsController& componentsController;
63  Tome::ExportController& exportController;
64  Tome::FieldDefinitionsController& fieldDefinitionsController;
65  Tome::ImportController& importController;
66  Tome::ProjectController& projectController;
67  Tome::RecordsController& recordsController;
68  Tome::TypesController& typesController;
69 
70  QListWidgetItem* getSelectedListWidgetItem(QListWidget* listWidget);
71 
72  void navigateToSelectedFile(QListWidgetItem* item);
73 
74  void updateComponentData();
75  void updateCustomTypeData();
76  void updateExportTemplateData();
77  void updateFieldDefinitionData();
78  void updateImportTemplateData();
79  void updateRecordData();
80 
81  private slots:
82  void onAddExistingComponentsFileClicked(bool checked);
83  void onAddExistingCustomTypesFileClicked(bool checked);
84  void onAddExistingExportTemplateFileClicked(bool checked);
85  void onAddExistingFieldDefinitionsFileClicked(bool checked);
86  void onAddExistingImportTemplateFileClicked(bool checked);
87  void onAddExistingRecordsFileClicked(bool checked);
88 
89  void onAddNewComponentsFileClicked(bool checked);
90  void onAddNewCustomTypesFileClicked(bool checked);
91  void onAddNewFieldDefinitionsFileClicked(bool checked);
92  void onAddNewRecordsFileClicked(bool checked);
93 
94  void onNavigateToComponentsFileClicked(bool checked);
95  void onNavigateToCustomTypesFileClicked(bool checked);
96  void onNavigateToExportTemplateFileClicked(bool checked);
97  void onNavigateToFieldDefinitionsFileClicked(bool checked);
98  void onNavigateToImportTemplateFileClicked(bool checked);
99  void onNavigateToRecordsFileClicked(bool checked);
100 
101  void onRemoveComponentsFileClicked(bool checked);
102  void onRemoveCustomTypesFileClicked(bool checked);
103  void onRemoveExportTemplateFileClicked(bool checked);
104  void onRemoveFieldDefinitionsFileClicked(bool checked);
105  void onRemoveImportTemplateFileClicked(bool checked);
106  void onRemoveRecordsFileClicked(bool checked);
107 };
108 
109 #endif // PROJECTOVERVIEWWINDOW_H
Definition: commandlineoptions.h:6
Controller for adding, updating and removing field definitions.
Definition: fielddefinitionscontroller.h:15
Controller for exporting records using templates.
Definition: exportcontroller.h:20
Controller for adding, updating and removing records.
Definition: recordscontroller.h:21
Definition: mainwindow.h:25
Controller for adding and removing components.
Definition: componentscontroller.h:15
Controller for adding, updating and removing custom types.
Definition: typescontroller.h:14
Controller for importing record data.
Definition: importcontroller.h:19
Controller for creating, loading and saving projects.
Definition: projectcontroller.h:22
Window for adding files to or removing files from the project.
Definition: projectoverviewwindow.h:26