]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dialog.h
Interface fixes for Phoenix
[wxWidgets.git] / interface / wx / dialog.h
index 07f15907c43f33e1188175dbbe5501db0bf33a6f..47dd167eddf93e36cd51c85242924c073437aab0 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxDialog
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -16,6 +16,8 @@ enum wxDialogLayoutAdaptationMode
     wxDIALOG_ADAPTATION_MODE_DISABLED = 2   ///< Disable this dialog overriding global status.
 };
 
+#define wxDEFAULT_DIALOG_STYLE  (wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX)
+
 /**
     @class wxDialog
 
@@ -88,7 +90,7 @@ enum wxDialogLayoutAdaptationMode
            Equivalent to a combination of wxCAPTION, wxCLOSE_BOX and
            wxSYSTEM_MENU (the last one is not used under Unix).
     @style{wxRESIZE_BORDER}
-           Display a resizeable frame around the window.
+           Display a resizable frame around the window.
     @style{wxSYSTEM_MENU}
            Display a system menu.
     @style{wxCLOSE_BOX}
@@ -112,7 +114,7 @@ enum wxDialogLayoutAdaptationMode
     @style{wxDIALOG_EX_CONTEXTHELP}
            Under Windows, puts a query button on the caption. When pressed,
            Windows will go into a context-sensitive help mode and wxWidgets
-           will send a wxEVT_HELP event if the user clicked on an application
+           will send a @c wxEVT_HELP event if the user clicked on an application
            window. Note that this is an extended style and must be set by
            calling SetExtraStyle() before Create is called (two-step
            construction).
@@ -248,9 +250,30 @@ public:
 
         @note Just like CreateButtonSizer(), this function may return @NULL if
               no buttons were created.
+
+        This is a combination of CreateButtonSizer() and
+        CreateSeparatedSizer().
     */
     wxSizer* CreateSeparatedButtonSizer(long flags);
 
+    /**
+        Returns the sizer containing the given one with a separating
+        wxStaticLine if necessarily.
+
+        This function is useful for creating the sizer containing footer-like
+        contents in dialog boxes. It will add a separating static line only if
+        it conforms to the current platform convention (currently it is not
+        added under Mac where the use of static lines for grouping is
+        discouraged and is added elsewhere).
+
+        @since 2.9.2
+
+        @param sizer The sizer to wrap, must be non-@NULL.
+        @return The sizer wrapping the input one or possibly the input sizer
+            itself if no wrapping is necessary.
+     */
+    wxSizer *CreateSeparatedSizer(wxSizer *sizer);
+
     /**
         Creates a wxStdDialogButtonSizer with standard buttons. @a flags is a
         bit list of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxAPPLY,
@@ -431,7 +454,7 @@ public:
     virtual bool IsModal() const;
 
     /**
-        The default handler for wxEVT_SYS_COLOUR_CHANGED.
+        The default handler for @c wxEVT_SYS_COLOUR_CHANGED.
 
         @param event
             The colour change event.
@@ -451,7 +474,7 @@ public:
         Sets the identifier to be used as OK button. When the button with this
         identifier is pressed, the dialog calls wxWindow::Validate() and
         wxWindow::TransferDataFromWindow() and, if they both return @true,
-        closes the dialog with wxID_OK return code.
+        closes the dialog with the affirmative id return code.
 
         Also, when the user presses a hardware OK button on the devices having
         one or the special OK button in the PocketPC title bar, an event with
@@ -573,7 +596,7 @@ public:
     virtual bool Show(bool show = 1);
 
     /**
-        Shows a modal dialog.
+        Shows an application-modal dialog.
 
         Program flow does not return until the dialog has been dismissed with
         EndModal().
@@ -583,11 +606,33 @@ public:
         modeless dialog modal. However ShowModal() can't be called twice
         without intervening EndModal() calls.
 
+        Note that this function creates a temporary event loop which takes
+        precedence over the application's main event loop (see wxEventLoopBase)
+        and which is destroyed when the dialog is dismissed.
+        This also results in a call to wxApp::ProcessPendingEvents().
+
         @return The value set with SetReturnCode().
 
-        @see EndModal(), GetReturnCode(), SetReturnCode()
+        @see ShowWindowModal(), EndModal(), GetReturnCode(), SetReturnCode()
     */
     virtual int ShowModal();
+
+    /**
+        Shows a dialog modal to the parent top level window only.
+
+        Unlike ShowModal(), dialogs shown with this function only prevent the
+        user from interacting with their parent frame only but not with the
+        rest of the application. They also don't block the program execution
+        but instead return immediately, as Show(), and generate a
+        wxEVT_WINDOW_MODAL_DIALOG_CLOSED event later when the dialog is closed.
+
+        Currently this function is only fully implemented in wxOSX ports, under
+        the other platforms it behaves like ShowModal() (but also sends the
+        above mentioned event).
+
+        @since 2.9.0
+     */
+    void ShowWindowModal();
 };
 
 
@@ -595,7 +640,7 @@ public:
 /**
     @class wxDialogLayoutAdapter
 
-    This abstract class is the base for classes that help wxWidgets peform
+    This abstract class is the base for classes that help wxWidgets perform
     run-time layout adaptation of dialogs. Principally, this is to cater for
     small displays by making part of the dialog scroll, but the application
     developer may find other uses for layout adaption.
@@ -630,3 +675,13 @@ public:
     virtual bool DoLayoutAdaptation(wxDialog* dialog) = 0;
 };
 
+
+class wxWindowModalDialogEvent  : public wxCommandEvent
+{
+public:
+    wxWindowModalDialogEvent (wxEventType commandType = wxEVT_NULL, int id = 0);
+
+    wxDialog *GetDialog() const;
+    int GetReturnCode() const;
+    virtual wxEvent *Clone() const;
+};