00001 #ifndef _QG_DEFAULTS_HANDLER_ 00002 #define _QG_DEFAULTS_HANDLER_ 00003 00011 #include <string> 00012 #include "Rtypes.h" 00013 00014 #define CUTS_DIRECTORY_KEY "CUTS_DIRECTORY" 00015 #define DATA_DIRECTORY_KEY "DATA_DIRECTORY" 00016 #define DEFAULTS_FILENAME ".dianaGUIdefaults.txt" 00017 #define SAVE_CANVAS_DIRECTORY_KEY "SAVE_CANVAS_DIRECTORY" 00018 #define SESSION_DIRECTORY_KEY "SESSION_DIRECTORY" 00019 00020 class TGPicturePool; 00021 00022 class QGDefaultsHandler { 00023 public: 00025 static QGDefaultsHandler *Instance(); 00026 00028 virtual ~QGDefaultsHandler(); 00029 00031 const std::string& GetCutsDirectory() {return fCutsDirectory;} 00032 00034 const std::string& GetDataDirectory() {return fDataDirectory;} 00035 00037 const std::string& GetSaveCanvasDirectory() {return fSaveCanvasDirectory;} 00038 00040 const std::string& GetSessionDirectory() {return fSessionDirectory;} 00041 00043 void SetCutsDirectory(const std::string& directory); 00044 00046 void SetDataDirectory(const std::string& directory); 00047 00049 void SetSaveCanvasDirectory(const std::string& directory); 00050 00052 void SetSessionDirectory(const std::string& directory); 00053 00054 private: 00056 static QGDefaultsHandler *fMe; 00057 00059 QGDefaultsHandler(); 00060 00062 void LoadFromFile(std::string filename = DEFAULTS_FILENAME); 00063 00065 void SaveToFile(std::string filename = DEFAULTS_FILENAME); 00066 00068 std::string fCutsDirectory; 00069 00071 std::string fDataDirectory; 00072 00074 std::string fDefaultsFileDirectory; 00075 00077 std::string fSaveCanvasDirectory; 00078 00080 std::string fSessionDirectory; 00081 00082 ClassDef(QGDefaultsHandler, 0) 00083 }; 00084 00085 #endif