#pragma once // Define a new frame type class Frame : public wxFrame { int m_TipOfTheDayIndex; int m_FileDialogFilterIndex; std::string m_strLastUsedFile; public: bool m_showTipsAtStartup; Frame(const wxString& title); virtual ~Frame(); void StorePositionToConfig(void); void RestorePositionFromConfig(const wxSize&); #if wxUSE_MSGDLG void MessageBox(wxCommandEvent& event); void MessageBoxDialog(wxCommandEvent& event); void MessageBoxDialogWindowModal(wxCommandEvent& event); void MessageBoxDialogWindowModalClosed(wxWindowModalDialogEvent& event); void MessageBoxInfo(wxCommandEvent& event); void MessageBoxWindowModal(wxCommandEvent& event); void MessageBoxWindowModalClosed(wxWindowModalDialogEvent& event); #endif // wxUSE_MSGDLG #if wxUSE_RICHMSGDLG void RichMessageDialog(wxCommandEvent& event); #endif // wxUSE_RICHMSGDLG #if wxUSE_COLOURDLG void ChooseColour(wxCommandEvent& event); void GetColour(wxCommandEvent& event); #endif // wxUSE_COLOURDLG #if wxUSE_FONTDLG void ChooseFont(wxCommandEvent& event); #endif // wxUSE_FONTDLG #if wxUSE_LOG_DIALOG void LogDialog(wxCommandEvent& event); #endif // wxUSE_LOG_DIALOG #if wxUSE_INFOBAR void InfoBarSimple(wxCommandEvent& event); void InfoBarSimpleWrapped(wxCommandEvent& event); void InfoBarAdvanced(wxCommandEvent& event); #endif // wxUSE_INFOBAR #if wxUSE_CHOICEDLG void SingleChoice(wxCommandEvent& event); void MultiChoice(wxCommandEvent& event); #endif // wxUSE_CHOICEDLG #if wxUSE_REARRANGECTRL void Rearrange(wxCommandEvent& event); #endif // wxUSE_REARRANGECTRL #if wxUSE_ADDREMOVECTRL void AddRemove(wxCommandEvent& event); #endif // wxUSE_ADDREMOVECTRL #if wxUSE_TEXTDLG void LineEntry(wxCommandEvent& event); void TextEntry(wxCommandEvent& event); void PasswordEntry(wxCommandEvent& event); #endif // wxUSE_TEXTDLG #ifdef wxUSE_CREDENTIALDLG void CredentialEntry(wxCommandEvent& event); #endif // wxUSE_CREDENTIALDLG #if wxUSE_NUMBERDLG void NumericEntry(wxCommandEvent& event); #endif // wxUSE_NUMBERDLG #if wxUSE_FILEDLG void OnFileOpen(wxCommandEvent& event); void FileOpen2(wxCommandEvent& event); void FilesOpen(wxCommandEvent& event); void FilesOpenWindowModal(wxCommandEvent& event); void FilesOpenWindowModalClosed(wxWindowModalDialogEvent& event); void OnSaveNew(wxCommandEvent& event); void FileSaveWindowModal(wxCommandEvent& event); void FileSaveWindowModalClosed(wxWindowModalDialogEvent& event); void MacToggleAlwaysShowTypes(wxCommandEvent& event); #endif // wxUSE_FILEDLG #if USE_FILEDLG_GENERIC void FileOpenGeneric(wxCommandEvent& event); void FilesOpenGeneric(wxCommandEvent& event); void FileSaveGeneric(wxCommandEvent& event); #endif // USE_FILEDLG_GENERIC #if wxUSE_DIRDLG void DirChoose(wxCommandEvent& event); void DirChooseWindowModal(wxCommandEvent& event); void DirChooseWindowModalClosed(wxWindowModalDialogEvent& event); void DirChooseNew(wxCommandEvent& event); void DirChooseMultiple(wxCommandEvent& event); #endif // wxUSE_DIRDLG #if USE_DIRDLG_GENERIC void GenericDirChoose(wxCommandEvent& event); #endif // USE_DIRDLG_GENERIC #if wxUSE_STARTUP_TIPS void ShowTip(wxCommandEvent& event); #endif // wxUSE_STARTUP_TIPS #if USE_MODAL_PRESENTATION void ModalDlg(wxCommandEvent& event); #endif // USE_MODAL_PRESENTATION void ModelessDlg(wxCommandEvent& event); void DlgCenteredScreen(wxCommandEvent& event); void DlgCenteredParent(wxCommandEvent& event); void MiniFrame(wxCommandEvent& event); void DlgOnTop(wxCommandEvent& event); #if wxUSE_PROGRESSDLG void ShowProgress(wxCommandEvent& event); #ifdef wxHAS_NATIVE_PROGRESSDIALOG void ShowProgressGeneric(wxCommandEvent& event); #endif // wxHAS_NATIVE_PROGRESSDIALOG void DoShowProgress(wxGenericProgressDialog& dialog); #endif // wxUSE_PROGRESSDLG void ShowAppProgress(wxCommandEvent& event); #if wxUSE_ABOUTDLG void ShowSimpleAboutDialog(wxCommandEvent& event); void ShowFancyAboutDialog(wxCommandEvent& event); void ShowFullAboutDialog(wxCommandEvent& event); void ShowCustomAboutDialog(wxCommandEvent& event); #endif // wxUSE_ABOUTDLG #if wxUSE_BUSYINFO void ShowBusyInfo(wxCommandEvent& event); void ShowRichBusyInfo(wxCommandEvent& event); #endif // wxUSE_BUSYINFO #if wxUSE_FINDREPLDLG void ShowFindDialog(wxCommandEvent& event); void ShowReplaceDialog(wxCommandEvent& event); void OnFindDialog(wxFindDialogEvent& event); #endif // wxUSE_FINDREPLDLG #if USE_COLOURDLG_GENERIC void ChooseColourGeneric(wxCommandEvent& event); #endif // USE_COLOURDLG_GENERIC #if USE_FONTDLG_GENERIC void ChooseFontGeneric(wxCommandEvent& event); #endif // USE_FONTDLG_GENERIC void OnPropertySheet(wxCommandEvent& event); void OnRequestUserAttention(wxCommandEvent& event); #if wxUSE_NOTIFICATION_MESSAGE void OnNotifMsg(wxCommandEvent& event); #endif // wxUSE_NOTIFICATION_MESSAGE #if wxUSE_RICHTOOLTIP void OnRichTipDialog(wxCommandEvent& event); #endif // wxUSE_RICHTOOLTIP void OnStandardButtonsSizerDialog(wxCommandEvent& event); void OnTestDefaultActionDialog(wxCommandEvent& event); void OnModalHook(wxCommandEvent& event); void OnSimulatedUnsaved(wxCommandEvent& event); void OnExit(wxCommandEvent& event); void OnClose(wxCloseEvent& event); private: #if wxUSE_COLOURDLG void OnColourChanged(wxColourDialogEvent& event); void DoApplyColour(const wxColour& colour); #endif // wxUSE_COLOURDLG #if wxUSE_DIRDLG void DoDirChoose(int style); #endif // wxUSE_DIRDLG #if USE_MODAL_PRESENTATION MyModelessDialog* m_dialog; #endif // USE_MODAL_PRESENTATION #if wxUSE_FINDREPLDLG wxFindReplaceData m_findData; wxFindReplaceDialog* m_dlgFind, * m_dlgReplace; #endif // wxUSE_FINDREPLDLG wxColourData m_clrData; // just a window which we use to show the effect of font/colours selection wxWindow* m_canvas; #if wxUSE_INFOBAR void OnInfoBarRedo(wxCommandEvent& event); wxInfoBar* m_infoBarSimple, * m_infoBarAdvanced; #endif // wxUSE_INFOBAR #if USE_SETTINGS_DIALOG SettingsData m_settingsData; #endif // USE_SETTINGS_DIALOG #if wxUSE_TIPWINDOW void OnShowTip(wxCommandEvent& event); void OnUpdateShowTipUI(wxUpdateUIEvent& event); wxTipWindow* m_tipWindow; #endif // wxUSE_TIPWINDOW bool m_confirmExit; wxDECLARE_EVENT_TABLE(); }; class MyCanvas : public wxScrolledWindow { public: MyCanvas(wxWindow* parent) : wxScrolledWindow(parent, wxID_ANY) { SetForegroundColour(*wxBLACK); SetBackgroundColour(*wxWHITE); SetFont(*wxNORMAL_FONT); } private: void OnPaint(wxPaintEvent& event); wxDECLARE_EVENT_TABLE(); }; // Menu IDs enum { DIALOGS_CHOOSE_COLOUR = wxID_HIGHEST, DIALOGS_CHOOSE_COLOUR_ALPHA, DIALOGS_GET_COLOUR, DIALOGS_CHOOSE_FONT, DIALOGS_MESSAGE_BOX, DIALOGS_MESSAGE_DIALOG, DIALOGS_MESSAGE_BOX_WXINFO, DIALOGS_RICH_MESSAGE_DIALOG, DIALOGS_SINGLE_CHOICE, DIALOGS_MULTI_CHOICE, DIALOGS_REARRANGE, DIALOGS_ADDREMOVE, DIALOGS_LINE_ENTRY, DIALOGS_TEXT_ENTRY, DIALOGS_PASSWORD_ENTRY, DIALOGS_CREDENTIAL_ENTRY, DIALOGS_FILE_OPEN, DIALOGS_FILE_OPEN2, DIALOGS_FILES_OPEN, DIALOGS_FILE_SAVE, DIALOGS_FILE_USE_CUSTOMIZER, DIALOGS_FILE_USE_EXTRA_CONTROL_CREATOR, DIALOGS_MAC_TOGGLE_ALWAYS_SHOW_TYPES, DIALOGS_DIR_CHOOSE, DIALOGS_DIRNEW_CHOOSE, DIALOGS_DIRMULTIPLE_CHOOSE, DIALOGS_TIP, DIALOGS_NUM_ENTRY, DIALOGS_LOG_DIALOG, DIALOGS_INFOBAR_SIMPLE, DIALOGS_INFOBAR_SIMPLE_WRAPPED, DIALOGS_INFOBAR_ADVANCED, DIALOGS_MODAL, DIALOGS_MODELESS, DIALOGS_CENTRE_SCREEN, DIALOGS_CENTRE_PARENT, DIALOGS_MINIFRAME, DIALOGS_ONTOP, DIALOGS_MODELESS_BTN, DIALOGS_ABOUTDLG_SIMPLE, DIALOGS_ABOUTDLG_FANCY, DIALOGS_ABOUTDLG_FULL, DIALOGS_ABOUTDLG_CUSTOM, DIALOGS_BUSYINFO, DIALOGS_BUSYINFO_RICH, DIALOGS_FIND, DIALOGS_REPLACE, DIALOGS_REQUEST, DIALOGS_NOTIFY_MSG, DIALOGS_SHOW_TIP, DIALOGS_RICHTIP_DIALOG, DIALOGS_PROPERTY_SHEET, DIALOGS_PROPERTY_SHEET_TOOLBOOK, DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK, DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, DIALOGS_TEST_DEFAULT_ACTION, DIALOGS_MODAL_HOOK, DIALOGS_SIMULATE_UNSAVED };