00001 #ifndef __GMRU_H
00002 #define __GMRU_H
00003
00004
00005 #define IDM_OPEN 15000
00006 #define IDM_SAVEAS 15001
00007
00008
00009 class LgiClass GMru
00010 {
00011 private:
00012 class GMruPrivate *d;
00013 void _Update();
00014
00015 protected:
00016 virtual bool _OpenFile(char *File, bool ReadOnly);
00017 virtual bool _SaveFile(char *File);
00018
00019 virtual char *_GetCurFile();
00020 virtual void GetFileTypes(GFileSelect *Dlg, bool Write);
00021 virtual GFileType *GetSelectedType();
00022 void DoFileDlg(bool Open);
00023
00024 public:
00025 GMru();
00026 virtual ~GMru();
00027
00028
00029 bool Set(GSubMenu *parent, int size = -1);
00030 char *AddFile(char *FileName, bool Update = true);
00031 void RemoveFile(char *FileName, bool Update = true);
00032 int OnEvent(GMessage *Msg);
00033 void OnCommand(int Cmd);
00034
00035
00036 bool Serialize(GDom *Store, char *Prefix, bool Write);
00037
00038
00039
00040 virtual bool OpenFile(char *FileName, bool ReadOnly) = 0;
00041 virtual bool SaveFile(char *FileName) = 0;
00042 };
00043
00044 #endif