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