1/*
2 * Copyright 2013-2015, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef EXCEPTION_STOP_CONFIG_VIEW_H
6#define EXCEPTION_STOP_CONFIG_VIEW_H
7
8
9#include <GroupView.h>
10
11#include "types/Types.h"
12
13
14class BBox;
15class BButton;
16class BCheckBox;
17class ImageDebugInfo;
18class Team;
19class UserInterfaceListener;
20
21
22class ExceptionStopConfigView : public BGroupView {
23public:
24								ExceptionStopConfigView(::Team* team,
25									UserInterfaceListener* listener);
26
27								~ExceptionStopConfigView();
28
29	static	ExceptionStopConfigView* Create(::Team* team,
30									UserInterfaceListener* listener);
31									// throws
32
33	virtual	void				AttachedToWindow();
34	virtual	void				MessageReceived(BMessage* message);
35
36private:
37			void	 			_Init();
38			void				_UpdateThrownBreakpoints(bool enable);
39			status_t			_FindExceptionFunction(ImageDebugInfo* info,
40									target_addr_t& _foundAddress) const;
41
42			void				_UpdateExceptionState();
43
44private:
45			::Team*				fTeam;
46			UserInterfaceListener* fListener;
47			BCheckBox*			fExceptionThrown;
48			BCheckBox*			fExceptionCaught;
49};
50
51
52#endif // EXCEPTION_STOP_CONFIG_VIEW_H
53