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 "ListSelectionModel.h" 14 #include "main_window/MainWindow.h" 15 16 17 class BScrollView; 18 19 20 class MainWindow::SchedulingPage : public BGroupView, private TableListener { 21 public: 22 SchedulingPage(MainWindow* parent); 23 virtual ~SchedulingPage(); 24 25 void SetModel(Model* model); 26 27 private: 28 struct SchedulingEvent; 29 struct IOSchedulingEvent; 30 class SchedulingData; 31 struct TimeRange; 32 class TimelineHeaderRenderer; 33 class BaseView; 34 class LineBaseView; 35 class ThreadsView; 36 class SchedulingView; 37 class ViewPort; 38 39 struct FontInfo { 40 font_height fontHeight; 41 float lineHeight; 42 }; 43 44 private: 45 MainWindow* fParent; 46 Model* fModel; 47 BScrollView* fScrollView; 48 ViewPort* fViewPort; 49 ThreadsView* fThreadsView; 50 SchedulingView* fSchedulingView; 51 FontInfo fFontInfo; 52 ListSelectionModel fFilterModel; 53 ListSelectionModel fSelectionModel; 54 }; 55 56 57 #endif // MAIN_SCHEDULING_PAGE_H 58