xref: /haiku/src/servers/app/DesktopSettingsPrivate.h (revision 93aeb8c3bc3f13cb1f282e3e749258a23790d947)
1 /*
2  * Copyright 2001-2005, Haiku.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Axel Dörfler, axeld@pinc-software.de
7  */
8 #ifndef DESKTOP_SETTINGS_PRIVATE_H
9 #define DESKTOP_SETTINGS_PRIVATE_H
10 
11 
12 #include "DesktopSettings.h"
13 #include "ServerFont.h"
14 
15 #include <Locker.h>
16 
17 
18 class DesktopSettings::Private : public BLocker {
19 	public:
20 		Private();
21 		~Private();
22 
23 		status_t		Save();
24 
25 		void			SetDefaultPlainFont(const ServerFont& font);
26 		const ServerFont& DefaultPlainFont() const;
27 
28 		void			SetDefaultBoldFont(const ServerFont& font);
29 		const ServerFont& DefaultBoldFont() const;
30 
31 		void			SetDefaultFixedFont(const ServerFont& font);
32 		const ServerFont& DefaultFixedFont() const;
33 
34 		void			SetScrollBarInfo(const scroll_bar_info &info);
35 		const scroll_bar_info& ScrollBarInfo() const;
36 
37 		void			SetMenuInfo(const menu_info &info);
38 		const menu_info& MenuInfo() const;
39 
40 		void			SetMouseMode(mode_mouse mode);
41 		mode_mouse		MouseMode() const;
42 		bool			FocusFollowsMouse() const;
43 
44 		void			SetWorkspacesCount(int32 number);
45 		int32			WorkspacesCount() const;
46 
47 		void			SetWorkspacesMessage(int32 index, BMessage& message);
48 		const BMessage*	WorkspacesMessage(int32 index) const;
49 
50 	private:
51 		void			_SetDefaults();
52 		status_t		_Load();
53 
54 		ServerFont		fPlainFont;
55 		ServerFont		fBoldFont;
56 		ServerFont		fFixedFont;
57 
58 		scroll_bar_info	fScrollBarInfo;
59 		menu_info		fMenuInfo;
60 		mode_mouse		fMouseMode;
61 		int32			fWorkspacesCount;
62 		BMessage		fWorkspaceMessages[kMaxWorkspaces];
63 };
64 
65 #endif	/* DESKTOP_SETTINGS_PRIVATE_H */
66