1 /* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef MAIN_WINDOW_H 6 #define MAIN_WINDOW_H 7 8 #include <Window.h> 9 10 #include "Model.h" 11 12 13 class BTabView; 14 class DataSource; 15 class ModelLoader; 16 class SubWindowManager; 17 18 19 class MainWindow : public BWindow { 20 public: 21 MainWindow(DataSource* dataSource); 22 virtual ~MainWindow(); 23 24 virtual void MessageReceived(BMessage* message); 25 26 virtual void Quit(); 27 28 virtual void Show(); 29 30 void OpenTeamWindow(Model::Team* team); 31 void OpenThreadWindow(Model::Thread* thread); 32 33 private: 34 class GeneralPage; 35 class TeamsPage; 36 class ThreadsPage; 37 class SchedulingPage; 38 class WaitObjectsPage; 39 40 private: 41 void _SetModel(Model* model); 42 43 private: 44 BTabView* fMainTabView; 45 GeneralPage* fGeneralPage; 46 TeamsPage* fTeamsPage; 47 ThreadsPage* fThreadsPage; 48 SchedulingPage* fSchedulingPage; 49 WaitObjectsPage* fWaitObjectsPage; 50 Model* fModel; 51 ModelLoader* fModelLoader; 52 SubWindowManager* fSubWindowManager; 53 }; 54 55 56 #endif // MAIN_WINDOW_H 57