xref: /haiku/src/apps/processcontroller/ThreadBarMenuItem.h (revision 239222b2369c39dc52df52b0a7cdd6cc0a91bc92)
1 /*
2 	ProcessController © 2000, Georges-Edouard Berenger, All Rights Reserved.
3 	Copyright (C) 2004 beunited.org
4 
5 	This library is free software; you can redistribute it and/or
6 	modify it under the terms of the GNU Lesser General Public
7 	License as published by the Free Software Foundation; either
8 	version 2.1 of the License, or (at your option) any later version.
9 
10 	This library is distributed in the hope that it will be useful,
11 	but WITHOUT ANY WARRANTY; without even the implied warranty of
12 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 	Lesser General Public License for more details.
14 
15 	You should have received a copy of the GNU Lesser General Public
16 	License along with this library; if not, write to the Free Software
17 	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 */
19 #ifndef _THREAD_BAR_MENU_ITEM_H_
20 #define _THREAD_BAR_MENU_ITEM_H_
21 
22 
23 #include <MenuItem.h>
24 
25 
26 class ThreadBarMenuItem : public BMenuItem {
27 	public:
28 						ThreadBarMenuItem(const char* title, thread_id thread,
29 							BMenu* menu, BMessage* msg);
30 
31 		virtual	void	DrawContent();
32 		virtual	void	GetContentSize(float* width, float* height);
33 		virtual	void	Highlight(bool on);
34 		void			DrawBar(bool force);
35 		void			BarUpdate();
36 
37 		double			fUser;
38 		double			fKernel;
39 
40 	private:
41 		thread_id		fThreadID;
42 		thread_info		fThreadInfo;
43 		bigtime_t		fLastTime;
44 		float			fGrenze1;
45 		float			fGrenze2;
46 };
47 
48 #endif // _THREAD_BAR_MENU_ITEM_H_
49