]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/cocoa/dialog.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/dialog.h
3 // Purpose: wxDialog class
4 // Author: David Elliott
8 // Copyright: David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_COCOA_DIALOG_H_
13 #define _WX_COCOA_DIALOG_H_
16 // NOTE: we don't need panel.h, but other things expect it to be included
18 #include "wx/cocoa/NSPanel.h"
20 WXDLLEXPORT_DATA(extern const wxChar
*) wxDialogNameStr
;
22 // ========================================================================
24 // ========================================================================
25 class WXDLLEXPORT wxDialog
: public wxDialogBase
, protected wxCocoaNSPanel
27 DECLARE_DYNAMIC_CLASS(wxDialog
)
29 WX_DECLARE_COCOA_OWNER(NSPanel
,NSWindow
,NSWindow
)
30 // ------------------------------------------------------------------------
32 // ------------------------------------------------------------------------
34 wxDialog() { Init(); }
36 // Constructor with a modal flag, but no window id - the old convention
37 wxDialog(wxWindow
*parent
,
38 const wxString
& title
, bool modal
,
39 int x
= -1, int y
= -1, int width
= 500, int height
= 500,
40 long style
= wxDEFAULT_DIALOG_STYLE
,
41 const wxString
& name
= wxDialogNameStr
)
44 long modalStyle
= modal
? wxDIALOG_MODAL
: wxDIALOG_MODELESS
;
45 Create(parent
, -1, title
, wxPoint(x
, y
), wxSize(width
, height
),
46 style
| modalStyle
, name
);
49 // Constructor with no modal flag - the new convention.
50 wxDialog(wxWindow
*parent
, wxWindowID winid
,
51 const wxString
& title
,
52 const wxPoint
& pos
= wxDefaultPosition
,
53 const wxSize
& size
= wxDefaultSize
,
54 long style
= wxDEFAULT_DIALOG_STYLE
,
55 const wxString
& name
= wxDialogNameStr
)
58 Create(parent
, winid
, title
, pos
, size
, style
, name
);
61 bool Create(wxWindow
*parent
, wxWindowID winid
,
62 const wxString
& title
,
63 const wxPoint
& pos
= wxDefaultPosition
,
64 const wxSize
& size
= wxDefaultSize
,
65 long style
= wxDEFAULT_DIALOG_STYLE
,
66 const wxString
& name
= wxDialogNameStr
);
72 // ------------------------------------------------------------------------
74 // ------------------------------------------------------------------------
76 virtual void CocoaDelegate_windowWillClose(void);
77 virtual bool Cocoa_canBecomeMainWindow(bool &canBecome
)
78 { canBecome
= true; return true; }
80 // ------------------------------------------------------------------------
82 // ------------------------------------------------------------------------
84 virtual bool Show(bool show
= true);
86 void SetModal(bool flag
);
87 virtual bool IsModal() const { return m_isModal
; }
90 // For now, same as Show(TRUE) but returns return code
91 virtual int ShowModal();
93 // may be called to terminate the dialog with the given return code
94 virtual void EndModal(int retCode
);
96 // ------------------------------------------------------------------------
98 // ------------------------------------------------------------------------
100 void OnCloseWindow(wxCloseEvent
& event
);
102 void OnOK(wxCommandEvent
& event
);
103 void OnApply(wxCommandEvent
& event
);
104 void OnCancel(wxCommandEvent
& event
);
106 // end either modal or modeless dialog
107 void EndDialog(int rc
);
111 #endif // _WX_COCOA_DIALOG_H_