00001 00083 #ifndef INC_MGUI_DLGCONTACTMI_H 00084 #define INC_MGUI_DLGCONTACTMI_H 00085 00086 #ifndef INC_MGUI_DLGSHELL_H 00087 #include <mgui/dlgshell.h> 00088 #endif 00089 00090 #ifndef INC_MGUI_COMBOBOX_H 00091 #include <mgui/combobox.h> 00092 #endif 00093 00094 #ifndef INC_MGUI_LISTBOX_H 00095 #include <mgui/listbox.h> 00096 #endif 00097 00098 #ifndef INC_MGUI_GRID_H 00099 #include <mgui/grid.h> 00100 #endif 00101 00102 #ifndef INC_MGUI_EDIT_H 00103 #include <mgui/edit.h> 00104 #endif 00105 00106 #ifndef INC_MI32_FILETEXT_H 00107 #include <mi32/filetext.h> 00108 #endif 00109 00110 #ifndef INC_MI32_FILEPATHLIST_H 00111 #include <mi32/filepathlist.h> 00112 #endif 00113 00114 #ifndef INC_MI32_MDLG_H 00115 #include <mi32/mdlg.h> 00116 #endif 00117 00118 #ifndef GENERATING_DOXYGEN_OUTPUT 00119 class STATUSCONTEXT; 00120 struct REPORTINFO; 00121 #endif // GENERATING_DOXYGEN_OUTPUT 00122 00123 00124 namespace MGUI { 00125 00126 class DLG_CONTACTMI : public MGUI::DLGSHELL { 00127 public: 00128 00130 DLG_CONTACTMI (); 00131 00133 DLG_CONTACTMI ( 00134 const MISTRING& details, 00135 MDLG_MESSAGETYPE type = MDLG_MESSAGETYPE_Information 00136 ); 00137 00139 DLG_CONTACTMI ( 00140 MDLG_MESSAGETYPE type 00141 ); 00142 00144 ~DLG_CONTACTMI (); 00145 00147 ERRVALUE ListSetValue (const FILEPATHLIST &PathList); 00148 00151 void SetName(const MISTRING &name); 00152 00155 void SetEmail(const MISTRING &email); 00156 00159 void SetOrganization(const MISTRING &organization); 00160 00163 void SetSubject(const MISTRING &subject); 00164 00168 void SetDelegateAddFiles ( 00169 fastdelegate::FastDelegate<void (FILEPATHLIST & filelist)> fileadddelegate, 00170 bool deleteafteruse = false 00171 ); 00172 00174 void SetIncludeSettings (bool IncludeSettings); 00175 00177 void SetIncludeScreenshot (bool IncludeScreenshot); 00178 00180 void SetIncludeSessionLog (bool IncludeSessionLog); 00181 00183 static ERRVALUE JustSaveReport( 00184 MISTRING &details, 00185 MDLG_MESSAGETYPE type = MDLG_MESSAGETYPE_Information 00186 ); 00187 00188 private: 00189 #ifndef GENERATING_DOXYGEN_OUTPUT 00190 typedef DLG_CONTACTMI THISCLASS; 00191 00192 MISTRING m_nameset; 00193 MISTRING m_emailset; 00194 MISTRING m_organizationset; 00195 MISTRING m_subjectset; 00196 00197 MISTRING m_Details; 00198 MDLG_MESSAGETYPE m_Type; 00199 FILE_TEXT m_addfiles; 00200 FILE_TEXT m_loadfile; 00201 GENERICRW_TEXT::POSN m_filestart; 00202 const char *m_IniGroup; 00203 00204 MGUI::CTRL_TOGGLEBUTTON m_LinkOnlyTB; 00205 MGUI::CTRL_TOGGLEBUTTON m_DeleteAfterSendTB; 00206 00207 MGUI::LAYOUT_EQUALIZER m_equalizer; 00208 MGUI::LAYOUT_PANE m_subj; 00209 MGUI::CTRL_LABEL m_slab; 00210 MGUI::CTRL_LABEL m_desclab; 00211 MGUI::CTRL_GROUPBOX m_pane1; 00212 MGUI::LAYOUT_PANE m_misc2; 00213 MGUI::CTRL_LABEL m_desclab2; 00214 MGUI::LAYOUT_PANE m_misc3; 00215 MGUI::CTRL_LABEL m_desclab3; 00216 MGUI::LAYOUT_PANE m_misc4; 00217 MGUI::CTRL_LABEL m_desclab4; 00218 MGUI::CTRL_GROUPBOX m_togglepane; 00219 MGUI::LAYOUT_PANE m_misc5; 00220 MGUI::CTRL_GROUPBOX m_pane5; 00221 MGUI::LAYOUT_PANE m_BtnPane; 00222 MGUI::LAYOUT_PANE m_pane6; 00223 MGUI::LAYOUT_PANE m_pane7; 00224 00225 MGUI::CTRL_EDIT_STRING m_Subject; 00226 MGUI::CTRL_EDIT_TEXT m_Description; 00227 MGUI::CTRL_TOGGLEBUTTON m_SendSettingsTB; 00228 MGUI::CTRL_TOGGLEBUTTON m_SendScreensTB; 00229 MGUI::CTRL_TOGGLEBUTTON m_SendLogTB; 00230 MGUI::CTRL_EDIT_STRING m_UserName; 00231 MGUI::CTRL_EDIT_STRING m_EmailAddress; 00232 MGUI::CTRL_EDIT_STRING m_Organization; 00233 MGUI::CTRL_GRID m_FileGrid; 00234 MGUI::CTRL_PUSHBUTTON m_ViewSettings; 00235 MGUI::CTRL_PUSHBUTTON m_ViewScreenShot; 00236 MGUI::CTRL_PUSHBUTTON m_ViewLog; 00237 MGUI::CTRL_PUSHBUTTON m_BtnSelect; 00238 MGUI::CTRL_PUSHBUTTON m_BtnRemove; 00239 MGUI::CTRL_PUSHBUTTON m_BtnRemoveAll; 00240 MGUI::CTRL_PUSHBUTTON m_PrivacyPolicyPB; 00241 MGUI::CTRL_PUSHBUTTON m_SaveToFilePB; 00242 MGUI::CTRL_PUSHBUTTON m_SendFromFilePB; 00243 MGUI::CTRL_PUSHBUTTON m_CreateMoviePB; 00244 MGUI::CTRL_PUSHBUTTON m_TakeScreenshotPB; 00245 MGUI::CTRL_PUSHBUTTON m_HelpPB; 00246 MGUI::CTRL_PUSHBUTTON m_SendPB; 00247 MGUI::CTRL_PUSHBUTTON m_SavePB; 00248 MGUI::CTRL_PUSHBUTTON m_CancelPB; 00249 00250 bool m_bIncludeSettings; 00251 bool m_bIncludeScreenshot; 00252 bool m_bIncludeSessionLog; 00253 bool m_IsFromFile; //changed to 1 after loading 00254 bool m_SaveLinkOnly; 00255 bool m_DeleteAfterSend; 00256 bool m_DirectoryListingIsCreated;//if the Directory Listing was created for viewing don't recreate it when sending 00257 bool m_SendErrorData; 00258 bool m_DeleteExtraFiles; //delete the files that were added by the delegate after sending 00259 00260 fastdelegate::FastDelegate<void (FILEPATHLIST &)> m_DelegateGetExtraFiles; 00261 FILEPATHLIST m_ExtraSendFiles; 00262 FILEPATH m_SavePath; 00263 FILEPATH m_SendPath; 00264 FILEPATH m_LoadPath; 00265 FILEPATH m_AddFilesPath; 00266 FILEPATH m_SupportFolder;//used for loading not for saving 00267 FILEPATH m_DirectoryListing; 00268 FILEPATHLIST m_FilePathList; 00269 00270 ERRVALUE MyWait(STATUSCONTEXT& StatusContext, int seconds); 00271 ERRVALUE DoSend (); 00272 ERRVALUE DoSave (); 00273 ERRVALUE DoLoad (); 00274 ERRVALUE SendEmail(); 00275 00276 //Creates the file either to be used as saving, or to be used to send 00277 //supports getting information both from the system and from the saved file 00278 ERRVALUE FillStructFromDialog(REPORTINFO &reportvariables); 00279 ERRVALUE ListSelect (); 00280 void ListClear (); 00281 void OnShowPolicy (); 00282 void OnViewHelp (); 00283 void OnSaveForm (); 00284 void OnFileSent (); 00285 void OnFileLoad (); 00286 void OnMovieCapture (); 00287 void OnScreenCapture (); 00288 void OnCaptureComplete (); 00289 void OnBtnRemove (); 00290 void OnBtnRemoveAll (); 00291 void OnBtnSelect (); 00292 void OnViewSettings(); 00293 void OnViewScreenShot(); 00294 void OnViewLog(); 00295 void OnLinkOnly(); 00296 void OnDeleteAfterSend(); 00297 void OnSendFailed(MISTRING &reason); 00298 void ShowSettings(int index = 0); 00299 void SetFilesToAdd(); 00300 void TestActive(); 00301 void RemoveMovieFiles(); 00302 int GetNextMovieNum(); 00303 int GetNextScreenNum(); 00304 int GetAllFiles(MISTRINGLIST &FileList, FILEPATH ParentFolder); 00305 bool ErrorShotIsFile(); 00306 void CreateDeleteAfterSendControls (MGUI::LAYOUT_PANE_BASE& ParentPane); 00307 void CreateLinkOnlyControls (MGUI::LAYOUT_PANE_BASE& ParentPane); 00308 00309 // DLGSHELL overrides 00310 virtual ERRVALUE v_CreateContent (); 00311 virtual void v_OnOK (); 00312 virtual void v_OnCancel (); 00313 00314 #endif // GENERATING_DOXYGEN_OUTPUT 00315 }; 00316 00317 } // End namespace MGUI 00318 00319 00320 #endif // INC_MGUI_DLGCONTACTMI_H
1.6.1