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 17class BScrollView; 18 19 20class MainWindow::SchedulingPage : public BGroupView, private TableListener { 21public: 22 SchedulingPage(MainWindow* parent); 23 virtual ~SchedulingPage(); 24 25 void SetModel(Model* model); 26 27private: 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 44private: 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