xref: /haiku/src/apps/debuganalyzer/gui/main_window/SchedulingPage.h (revision e9ff085cfe46ed8cd0a11c5e147e6365ed9b4b34)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef MAIN_SCHEDULING_PAGE_H
6 #define MAIN_SCHEDULING_PAGE_H
7 
8 
9 #include <GroupView.h>
10 
11 #include "table/Table.h"
12 
13 #include "main_window/MainWindow.h"
14 
15 
16 class BScrollView;
17 
18 
19 class MainWindow::SchedulingPage : public BGroupView, private TableListener {
20 public:
21 								SchedulingPage(MainWindow* parent);
22 	virtual						~SchedulingPage();
23 
24 			void				SetModel(Model* model);
25 
26 private:
27 			struct SchedulingEvent;
28 			class SchedulingData;
29 			struct TimeRange;
30 			class TimelineHeaderRenderer;
31 			class BaseView;
32 			class ThreadsView;
33 			class SchedulingView;
34 			class ViewPort;
35 
36 			struct FontInfo {
37 				font_height	fontHeight;
38 				float		lineHeight;
39 			};
40 
41 private:
42 			MainWindow*			fParent;
43 			Model*				fModel;
44 			BScrollView*		fScrollView;
45 			ViewPort*			fViewPort;
46 			ThreadsView*		fThreadsView;
47 			SchedulingView*		fSchedulingView;
48 			FontInfo			fFontInfo;
49 };
50 
51 
52 #endif	// MAIN_SCHEDULING_PAGE_H
53