xref: /haiku/src/apps/debuganalyzer/gui/main_window/MainWindow.h (revision 4e890d3456660b066fa67941130a12856a2d389e)
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