xref: /haiku/src/apps/debugger/user_interface/gui/team_settings_window/ExceptionStopConfigView.h (revision 10b962261a1316c97dc6ca4c1e68e2109472d2d7)
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 
14 class BBox;
15 class BButton;
16 class BCheckBox;
17 class ImageDebugInfo;
18 class Team;
19 class UserInterfaceListener;
20 
21 
22 class ExceptionStopConfigView : public BGroupView {
23 public:
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 
36 private:
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 
44 private:
45 			::Team*				fTeam;
46 			UserInterfaceListener* fListener;
47 			BCheckBox*			fExceptionThrown;
48 			BCheckBox*			fExceptionCaught;
49 };
50 
51 
52 #endif // EXCEPTION_STOP_CONFIG_VIEW_H
53