xref: /haiku/src/apps/debuganalyzer/gui/main_window/MainWindow.h (revision 03187b607b2b5eec7ee059f1ead09bdba14991fb)
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 
39 private:
40 			void				_SetModel(Model* model);
41 
42 private:
43 			BTabView*			fMainTabView;
44 			GeneralPage*		fGeneralPage;
45 			TeamsPage*			fTeamsPage;
46 			ThreadsPage*		fThreadsPage;
47 			SchedulingPage*		fSchedulingPage;
48 			Model*				fModel;
49 			ModelLoader*		fModelLoader;
50 			SubWindowManager*	fSubWindowManager;
51 };
52 
53 
54 #endif	// MAIN_WINDOW_H
55