00001 #ifndef __CDialog__
00002 #define __CDialog__
00003
00004 #include <Basics/CSystemString.hpp>
00005 using Exponent::Basics::CSystemString;
00006
00007 namespace Exponent
00008 {
00009 namespace GUI
00010 {
00011 namespace Basics
00012 {
00030 class CDialog
00031 {
00032 public:
00033
00034
00035
00042 static void notifyUser(const CString&message, const CString&title, const bool isSerious = false);
00043
00050 static bool promptUser(const CString&message, const CString&title);
00051
00055 static void audioPrompt();
00056
00057
00058
00085 static bool openSaveDialog(const CSystemString &startingPath, CSystemString &filename, const CString &title, const CString &filterDescription, const CString &filterExtension);
00086
00113 static bool openFileDialog(const CSystemString &path, CSystemString &filename, const CString &title, const CString &filterDescription, const CString &filterExtension);
00114
00121 static bool openFolderDialog(CSystemString &filename, const CString &title);
00122
00123
00124
00125 protected:
00126
00127
00128
00129 const static unsigned long CDIALOG_OK_OPTION;
00130 const static unsigned long CDIALOG_ASTERISK_OPTION;
00131 const static unsigned long CDIALOG_EXCLAMATION_OPTION;
00132 const static unsigned long CDIALOG_HAND_OPTION;
00133 const static unsigned long CDIALOG_QUESTION_OPTION;
00134 const static unsigned long CDIALOG_SIMPLE_OPTION;
00135 const static unsigned long CDIALOG_MAX_FILTER_STRING;
00137
00138
00142 #ifdef WIN32
00143
00152 static void createDialogFilter(char *filterString, const CSystemString &filterDescription, const CSystemString &filterExtension);
00156 #else
00157
00168 static pascal Boolean fileDialogProc(AEDesc *theItem, void *info, NavCallBackUserData callBackUD, NavFilterModes filterMode);
00169
00178 static pascal Boolean folderDialogProc(AEDesc *theItem, void *info, NavCallBackUserData callBackUD, NavFilterModes filterMode);
00179
00185 static void setDefaultDialogLocation(NavDialogRef dialogReference, const CSystemString &path);
00189 #endif
00190
00193 };
00194 }
00195 }
00196 }
00197 #endif // End of CDialog.hpp