1/* 2 * Copyright 2000, Georges-Edouard Berenger. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef PREFERENCES_H 6#define PREFERENCES_H 7 8#include <Locker.h> 9#include <Message.h> 10#include <Window.h> 11 12 13class Preferences : public BMessage, public BLocker { 14 public: 15 Preferences(const char* thename, const char* thesignature = NULL, bool doSave = true); 16 Preferences(const entry_ref& ref, const char* thesignature = NULL, bool doSave = true); 17 ~Preferences(); 18 status_t MakeEmpty(); 19 void SaveWindowPosition(BWindow* window, const char* name); 20 void LoadWindowPosition(BWindow* window, const char* name); 21 void SaveWindowFrame(BWindow* window, const char* name); 22 void LoadWindowFrame(BWindow* window, const char* name); 23 void SaveInt32(int32 val, const char* name); 24 bool ReadInt32(int32& val, const char* name); 25 void SaveFloat(float val, const char* name); 26 bool ReadFloat(float& val, const char* name); 27 void SaveRect(BRect& rect, const char* name); 28 BRect& ReadRect(BRect& rect, const char* name); 29 void SaveString(BString& string, const char* name); 30 void SaveString(const char* string, const char* name); 31 bool ReadString(BString& string, const char* name); 32 33 private: 34 bool fNewPreferences; 35 bool fSavePreferences; 36 char* fName; 37 char* fSignature; 38 entry_ref* fSettingsFile; 39}; 40 41extern Preferences gPreferences; 42 43// ggPreferences.LoadWindowPosition(this, kPosPrefName); 44// ggPreferences.SaveWindowPosition(this, kPosPrefName); 45 46// ggPreferences.LoadWindowFrame(this, frame); 47// ggPreferences.SaveWindowFrame(this, frame); 48 49#endif // PREFERENCES_H 50