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