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 13class BTabView; 14class DataSource; 15class ModelLoader; 16class SubWindowManager; 17 18 19class MainWindow : public BWindow { 20public: 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 33private: 34 class GeneralPage; 35 class TeamsPage; 36 class ThreadsPage; 37 class SchedulingPage; 38 class WaitObjectsPage; 39 40private: 41 void _SetModel(Model* model); 42 43private: 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