xref: /haiku/src/preferences/notifications/PrefletWin.h (revision 6aa0587222b965a635512f99861a5f6a9ad465a8)
1de9dcd41SStephan Aßmus /*
2*6aa05872SBrian Hill  * Copyright 2010-2017, Haiku, Inc. All Rights Reserved.
3de9dcd41SStephan Aßmus  * Copyright 2009, Pier Luigi Fiorini.
4de9dcd41SStephan Aßmus  * Distributed under the terms of the MIT License.
5de9dcd41SStephan Aßmus  */
6de9dcd41SStephan Aßmus #ifndef _PREFLET_WIN_H
7de9dcd41SStephan Aßmus #define _PREFLET_WIN_H
8de9dcd41SStephan Aßmus 
9*6aa05872SBrian Hill 
10*6aa05872SBrian Hill #include <GroupView.h>
11*6aa05872SBrian Hill #include <LayoutBuilder.h>
12*6aa05872SBrian Hill #include <Message.h>
13de9dcd41SStephan Aßmus #include <Window.h>
14de9dcd41SStephan Aßmus 
15de9dcd41SStephan Aßmus #include "SettingsHost.h"
16de9dcd41SStephan Aßmus 
17de9dcd41SStephan Aßmus class BButton;
18de9dcd41SStephan Aßmus 
19de9dcd41SStephan Aßmus class PrefletView;
20de9dcd41SStephan Aßmus 
21de9dcd41SStephan Aßmus class PrefletWin : public BWindow, public SettingsHost {
22de9dcd41SStephan Aßmus public:
23de9dcd41SStephan Aßmus 							PrefletWin();
24de9dcd41SStephan Aßmus 
25de9dcd41SStephan Aßmus 	virtual	bool			QuitRequested();
26de9dcd41SStephan Aßmus 	virtual	void			MessageReceived(BMessage* msg);
27de9dcd41SStephan Aßmus 
28*6aa05872SBrian Hill 	virtual	void			SettingChanged(bool showExample);
29015a928bSAdrien Destugues 			void			ReloadSettings();
30de9dcd41SStephan Aßmus 
31de9dcd41SStephan Aßmus private:
32*6aa05872SBrian Hill 			status_t		_Revert();
33*6aa05872SBrian Hill 			bool			_RevertPossible();
34*6aa05872SBrian Hill 			status_t		_Defaults();
35*6aa05872SBrian Hill 			bool			_DefaultsPossible();
36*6aa05872SBrian Hill 			void			_SendExampleNotification();
37*6aa05872SBrian Hill 
38de9dcd41SStephan Aßmus 			PrefletView*	fMainView;
39*6aa05872SBrian Hill 			BGroupView*		fButtonsView;
40*6aa05872SBrian Hill 			BButton*		fDefaults;
41de9dcd41SStephan Aßmus 			BButton*		fRevert;
42*6aa05872SBrian Hill 			BGroupLayout*	fButtonsLayout;
43de9dcd41SStephan Aßmus };
44de9dcd41SStephan Aßmus 
45de9dcd41SStephan Aßmus #endif // _PREFLET_WIN_H
46