xref: /haiku/src/servers/app/DesktopSettings.h (revision fef6144999c2fa611f59ee6ffe6dd7999501385c)
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_H
9 #define DESKTOP_SETTINGS_H
10 
11 
12 #include <InterfaceDefs.h>
13 #include <Menu.h>
14 #include <Message.h>
15 
16 class Desktop;
17 
18 
19 static const int32 kMaxWorkspaces = 32;
20 
21 
22 class DesktopSettings {
23 	public:
24 		DesktopSettings(Desktop* desktop);
25 		~DesktopSettings();
26 
27 		status_t		Save();
28 
29 		void			SetScrollBarInfo(const scroll_bar_info& info);
30 		void			GetScrollBarInfo(scroll_bar_info& info) const;
31 
32 		void			SetMenuInfo(const menu_info& info);
33 		void			GetMenuInfo(menu_info& info) const;
34 
35 		void			SetMouseMode(mode_mouse mode);
36 		mode_mouse		MouseMode() const;
37 		bool			FocusFollowsMouse() const;
38 
39 		void			SetWorkspacesCount(int32 number);
40 		int32			WorkspacesCount() const;
41 
42 		void			SetWorkspacesMessage(int32 index, BMessage& message);
43 		const BMessage*	WorkspacesMessage(int32 index) const;
44 
45 	private:
46 		class Private;
47 		friend class Desktop;
48 
49 		Private*		fSettings;
50 };
51 
52 #endif	/* DESKTOP_SETTINGS_H */
53