/* * Dialogs serving menu commands. */ #ifndef menudialogsIncluded #define menudialogsIncluded #include "browser.h" #include #include class StringDialog; class RSLBrowser; class FileDialog { public: FileDialog(RSLBrowser* browser); bool Accept(const char* startfile, const char* msg = "\0"); const char* ChooseFile(const char* prevfile = "\0", const char* msg = "\0"); private: const char* lastfile; const char* choice; RSLBrowser* browser; }; /* * Not used right now -- pullright used instead. Maybe later. Cf. * CloseMenuItem::Do and ExposeMenuItem::Do. */ class FileListDialog { public: FileListDialog(RSLBrowser* browser); bool Accept(); const char* FileListDialog::ChooseFile(); private: const char* choice; RSLBrowser* browser; }; class SearchDialog { public: SearchDialog(RSLBrowser* browser, char* msg); bool Accept(); const char* ChooseSearchString(); private: StringDialog* lastsearch; char* msg; const char* choice; RSLBrowser* browser; }; class BasicDialog : public Dialog { public: BasicDialog(); virtual bool Accept(); protected: void Forward(Event&); bool KeyEquiv(Event&); }; class AcknowledgeDialog : public BasicDialog { public: AcknowledgeDialog(const char* msg, const char* btnLbl = " OK "); virtual void Acknowledge(); }; class ConfirmDialog : public BasicDialog { public: ConfirmDialog(const char* msg, const char* confirmLbl = " OK "); }; class StringDialog : public BasicDialog { public: StringDialog( const char* msg, const char* sample = "", const char* confirmLbl = " OK " ); StringDialog( const char* msg, int width, const char* confirmLbl = " OK " ); const char* String(); void Select(); void Select(int); void Select(int, int); virtual bool Accept(); private: void Init(const char*, const char*, int width = 0); private: class StringEditor* _sedit; }; #endif