X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9871aaf863828b7c4794d7cf365332e9f4c3e00..ddc7f0c97571b231f231b5abaa9f4e4eaf1e46a9:/include/wx/cocoa/msgdlg.h diff --git a/include/wx/cocoa/msgdlg.h b/include/wx/cocoa/msgdlg.h index aa03ad7993..a490cf49d6 100644 --- a/include/wx/cocoa/msgdlg.h +++ b/include/wx/cocoa/msgdlg.h @@ -3,6 +3,7 @@ // Purpose: wxMessageDialog class // Author: Gareth Simpson // Created: 2007-10-29 +// RCS-ID: $Id$ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -13,50 +14,57 @@ DECLARE_WXCOCOA_OBJC_CLASS(NSAlert); +#ifndef wxUSE_COCOA_NATIVE_MSGDLG +// trunk: Always use Cocoa dialog +// 2.8: Only use Cocoa dialog if ABI incompatible features is on +// Build both on both branches (there was no wxCocoaMessageDialog class so it's not an ABI issue) + #if 1/* wxUSE_ABI_INCOMPATIBLE_FEATURES */ + #define wxUSE_COCOA_NATIVE_MSGDLG 1 + #else + #define wxUSE_COCOA_NATIVE_MSGDLG 0 + #endif +#endif +#if wxUSE_COCOA_NATIVE_MSGDLG + #define wxMessageDialog wxCocoaMessageDialog +#else + #include "wx/generic/msgdlgg.h" -#define wxMessageDialog wxCocoaMessageDialog -//------------------------------------------------------------------------- -// wxMsgDialog -//------------------------------------------------------------------------- + #define wxMessageDialog wxGenericMessageDialog +#endif +// ---------------------------------------------------------------------------- +// wxCocoaMessageDialog +// ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMessageDialog: public wxMessageDialogBase +class WXDLLIMPEXP_CORE wxCocoaMessageDialog + : public wxMessageDialogWithCustomLabels { - DECLARE_DYNAMIC_CLASS(wxMessageDialog) - DECLARE_NO_COPY_CLASS(wxMessageDialog) - - public: - wxMessageDialog(wxWindow *parent, + wxCocoaMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxMessageBoxCaptionStr, long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition); - - virtual ~wxCocoaMessageDialog(); - virtual int ShowModal(); - - // customization of the message box - virtual bool SetYesNoLabels(const wxString& yes,const wxString& no); - virtual bool SetYesNoCancelLabels(const wxString& yes, const wxString& no, const wxString& cancel); - virtual bool SetOKLabel(const wxString& ok); - virtual bool SetOKCancelLabels(const wxString& ok, const wxString& cancel); + virtual int ShowModal(); protected: // not supported for message dialog virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height), int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {} - -private: - wxString m_yes, - m_no, - m_ok, - m_cancel; + // override wxMessageDialogWithCustomLabels method to get rid of + // accelerators in the custom label strings + // + // VZ: I have no idea _why_ do we do this but the old version did and + // I didn't want to change the existing behaviour + virtual void DoSetCustomLabel(wxString& var, const ButtonLabel& label); + + DECLARE_DYNAMIC_CLASS(wxCocoaMessageDialog) + DECLARE_NO_COPY_CLASS(wxCocoaMessageDialog) }; #endif // _WX_MSGDLG_H_