152906712SIngo Weinhold/*
252906712SIngo Weinhold * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
352906712SIngo Weinhold * Distributed under the terms of the MIT License.
452906712SIngo Weinhold */
552906712SIngo Weinhold#ifndef THREAD_ACTIVITY_PAGE_H
652906712SIngo Weinhold#define THREAD_ACTIVITY_PAGE_H
752906712SIngo Weinhold
852906712SIngo Weinhold#include <GroupView.h>
952906712SIngo Weinhold
1052906712SIngo Weinhold#include "thread_window/ThreadWindow.h"
1152906712SIngo Weinhold
1252906712SIngo Weinhold
1352906712SIngo Weinholdclass Chart;
1452906712SIngo Weinholdclass ChartRenderer;
15639e61adSIngo Weinholdclass ColorCheckBox;
1652906712SIngo Weinhold
1752906712SIngo Weinhold
1852906712SIngo Weinholdclass ThreadWindow::ActivityPage : public BGroupView {
1952906712SIngo Weinholdpublic:
2052906712SIngo Weinhold								ActivityPage();
2152906712SIngo Weinhold	virtual						~ActivityPage();
2252906712SIngo Weinhold
2352906712SIngo Weinhold			void				SetModel(ThreadModel* model);
2452906712SIngo Weinhold
25639e61adSIngo Weinhold	virtual	void				MessageReceived(BMessage* message);
26639e61adSIngo Weinhold	virtual	void				AttachedToWindow();
27639e61adSIngo Weinhold
2852906712SIngo Weinholdprivate:
2952906712SIngo Weinhold			class ThreadActivityData;
3052906712SIngo Weinhold
31639e61adSIngo Weinholdprivate:
32639e61adSIngo Weinhold			void				_UpdateChartDataEnabled(int timeType);
33639e61adSIngo Weinhold
3452906712SIngo Weinholdprivate:
3552906712SIngo Weinhold			ThreadModel*		fThreadModel;
3652906712SIngo Weinhold			Chart*				fActivityChart;
3752906712SIngo Weinhold			ChartRenderer*		fActivityChartRenderer;
3852906712SIngo Weinhold			ThreadActivityData*	fRunTimeData;
3952906712SIngo Weinhold			ThreadActivityData*	fWaitTimeData;
4052906712SIngo Weinhold			ThreadActivityData*	fPreemptionTimeData;
41639e61adSIngo Weinhold			ThreadActivityData*	fLatencyTimeData;
42639e61adSIngo Weinhold			ColorCheckBox*		fRunTimeCheckBox;
43639e61adSIngo Weinhold			ColorCheckBox*		fWaitTimeCheckBox;
44639e61adSIngo Weinhold			ColorCheckBox*		fPreemptionTimeCheckBox;
45639e61adSIngo Weinhold			ColorCheckBox*		fLatencyTimeCheckBox;
4652906712SIngo Weinhold};
4752906712SIngo Weinhold
4852906712SIngo Weinhold
4952906712SIngo Weinhold#endif	// THREAD_ACTIVITY_PAGE_H
50