]>
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 #if WXWIN_COMPATIBILITY_2_6
37 // Constructor with a modal flag, but no window id - the old convention
38 wxDialog(wxWindow
*parent
,
39 const wxString
& title
, bool WXUNUSED(modal
),
40 int x
= wxDefaultCoord
, int y
= wxDefaultCoord
, int width
= 500, int height
= 500,
41 long style
= wxDEFAULT_DIALOG_STYLE
,
42 const wxString
& name
= wxDialogNameStr
)
45 Create(parent
, wxID_ANY
, title
, wxPoint(x
, y
), wxSize(width
, height
),
48 #endif // WXWIN_COMPATIBILITY_2_6
50 // Constructor with no modal flag - the new convention.
51 wxDialog(wxWindow
*parent
, wxWindowID winid
,
52 const wxString
& title
,
53 const wxPoint
& pos
= wxDefaultPosition
,
54 const wxSize
& size
= wxDefaultSize
,
55 long style
= wxDEFAULT_DIALOG_STYLE
,
56 const wxString
& name
= wxDialogNameStr
)
59 Create(parent
, winid
, title
, pos
, size
, style
, name
);
62 bool Create(wxWindow
*parent
, wxWindowID winid
,
63 const wxString
& title
,
64 const wxPoint
& pos
= wxDefaultPosition
,
65 const wxSize
& size
= wxDefaultSize
,
66 long style
= wxDEFAULT_DIALOG_STYLE
,
67 const wxString
& name
= wxDialogNameStr
);
73 // ------------------------------------------------------------------------
75 // ------------------------------------------------------------------------
77 virtual void CocoaDelegate_windowWillClose(void);
78 virtual bool Cocoa_canBecomeMainWindow(bool &canBecome
)
79 { canBecome
= true; return true; }
81 // ------------------------------------------------------------------------
83 // ------------------------------------------------------------------------
85 virtual bool Show(bool show
= true);
87 void SetModal(bool flag
);
88 virtual bool IsModal() const { return m_isModal
; }
91 // For now, same as Show(true) but returns return code
92 virtual int ShowModal();
94 // may be called to terminate the dialog with the given return code
95 virtual void EndModal(int retCode
);
97 // ------------------------------------------------------------------------
99 // ------------------------------------------------------------------------
101 void OnCloseWindow(wxCloseEvent
& event
);
103 void OnOK(wxCommandEvent
& event
);
104 void OnApply(wxCommandEvent
& event
);
105 void OnCancel(wxCommandEvent
& event
);
107 // end either modal or modeless dialog
108 void EndDialog(int rc
);
112 #endif // _WX_COCOA_DIALOG_H_