X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e0de6b8aa49309ba439fcfd7251967915749c09..ac55e0a1a8c344626a94bc055e018630ed77b004:/include/wx/dialog.h diff --git a/include/wx/dialog.h b/include/wx/dialog.h index b3d75ccfbb..9552597133 100644 --- a/include/wx/dialog.h +++ b/include/wx/dialog.h @@ -12,71 +12,100 @@ #ifndef _WX_DIALOG_H_BASE_ #define _WX_DIALOG_H_BASE_ -#ifdef __GNUG__ - #pragma interface "dialogbase.h" -#endif - #include "wx/defs.h" #include "wx/containr.h" #include "wx/toplevel.h" -// FIXME - temporary hack in absence of wxTLW !! -#ifndef wxTopLevelWindowNative -#include "wx/panel.h" -class WXDLLEXPORT wxDialogBase : public wxPanel +class WXDLLEXPORT wxSizer; +class WXDLLEXPORT wxStdDialogButtonSizer; + +#define wxDIALOG_NO_PARENT 0x0001 // Don't make owned by apps top window + +#ifdef __WXWINCE__ +#define wxDEFAULT_DIALOG_STYLE (wxCAPTION | wxMAXIMIZE | wxCLOSE_BOX | wxNO_BORDER) #else -class WXDLLEXPORT wxDialogBase : public wxTopLevelWindow +#define wxDEFAULT_DIALOG_STYLE (wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX) #endif + +extern WXDLLEXPORT_DATA(const wxChar) wxDialogNameStr[]; + +class WXDLLEXPORT wxDialogBase : public wxTopLevelWindow { public: + + enum + { + // all flags allowed in wxDialogBase::CreateButtonSizer() + ButtonSizerFlags = wxOK|wxCANCEL|wxYES|wxNO|wxHELP|wxNO_DEFAULT + }; + wxDialogBase() { Init(); } - ~wxDialogBase() {} - + virtual ~wxDialogBase() { } + void Init(); - - // the modal dialogs have a return code - usually the id of the last + + // Modal dialogs have a return code - usually the id of the last // pressed button void SetReturnCode(int returnCode) { m_returnCode = returnCode; } int GetReturnCode() const { return m_returnCode; } -#if wxUSE_STATTEXT && wxUSE_TEXTCTRL + // The identifier for the affirmative button + void SetAffirmativeId(int affirmativeId) { m_affirmativeId = affirmativeId; } + int GetAffirmativeId() const { return m_affirmativeId; } + + // Identifier for Esc key translation + void SetEscapeId(int escapeId) { m_escapeId = escapeId; } + int GetEscapeId() const { return m_escapeId; } + +#if wxUSE_STATTEXT // && wxUSE_TEXTCTRL // splits text up at newlines and places the // lines into a vertical wxBoxSizer wxSizer *CreateTextSizer( const wxString &message ); -#endif // wxUSE_STATTEXT && wxUSE_TEXTCTRL - -#if wxUSE_BUTTON +#endif // wxUSE_STATTEXT // && wxUSE_TEXTCTRL + // places buttons into a horizontal wxBoxSizer - wxSizer *CreateButtonSizer( long flags ); + wxSizer *CreateButtonSizer( long flags, + bool separated = false, + wxCoord distance = 0 ); +#if wxUSE_BUTTON + wxStdDialogButtonSizer *CreateStdDialogButtonSizer( long flags ); #endif // wxUSE_BUTTON protected: - // the return code from modal dialog + // The return code from modal dialog int m_returnCode; - // FIXME - temporary hack in absence of wxTLW !! - #ifdef wxTopLevelWindowNative + // The identifier for the affirmative button (usually wxID_OK) + int m_affirmativeId; + + // The identifier for cancel button (usually wxID_CANCEL) + int m_escapeId; + + DECLARE_NO_COPY_CLASS(wxDialogBase) DECLARE_EVENT_TABLE() WX_DECLARE_CONTROL_CONTAINER(); - #endif }; -#if defined(__WXUNIVERSAL__) +#if defined(__WXUNIVERSAL__) && !defined(__WXMICROWIN__) #include "wx/univ/dialog.h" #else - #if defined(__WXMSW__) + #if defined(__WXPALMOS__) + #include "wx/palmos/dialog.h" + #elif defined(__WXMSW__) #include "wx/msw/dialog.h" #elif defined(__WXMOTIF__) #include "wx/motif/dialog.h" - #elif defined(__WXGTK__) + #elif defined(__WXGTK20__) #include "wx/gtk/dialog.h" + #elif defined(__WXGTK__) + #include "wx/gtk1/dialog.h" #elif defined(__WXMAC__) #include "wx/mac/dialog.h" + #elif defined(__WXCOCOA__) + #include "wx/cocoa/dialog.h" #elif defined(__WXPM__) #include "wx/os2/dialog.h" - #elif defined(__WXSTUBS__) - #include "wx/stubs/dialog.h" #endif #endif