]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dialog.h
Better close button placement on tabs, especially for bottom tab alignment
[wxWidgets.git] / include / wx / dialog.h
index 51852d49539ca34b05b8c47295fe723f239dddb1..d105144618630e754dbe328b2c830bde820c3298 100644 (file)
@@ -23,7 +23,9 @@ class WXDLLIMPEXP_FWD_CORE wxDialog;
 class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxScrolledWindow;
 
-#define wxDIALOG_NO_PARENT      0x0001  // Don't make owned by apps top window
+// Also see the bit summary table in wx/toplevel.h.
+
+#define wxDIALOG_NO_PARENT      0x0100  // Don't make owned by apps top window
 
 #ifdef __WXWINCE__
 #define wxDEFAULT_DIALOG_STYLE  (wxCAPTION | wxMAXIMIZE | wxCLOSE_BOX | wxNO_BORDER)
@@ -74,7 +76,7 @@ public:
     virtual bool IsModal() const = 0;
     // show the dialog frame-modally (needs a parent), using app-modal
     // dialogs on platforms that don't support it
-    virtual bool ShowWindowModal () ;
+    virtual void ShowWindowModal () ;
     virtual void SendWindowModalDialogEvent ( wxEventType type );
 
     // Modal dialogs have a return code - usually the id of the last
@@ -98,8 +100,19 @@ public:
     // but fall back to the current active window or main application window as
     // last resort if it is unsuitable.
     //
+    // As this function is often called from the ctor, the window style may be
+    // not set yet and hence must be passed explicitly to it so that we could
+    // check whether it contains wxDIALOG_NO_PARENT bit.
+    //
     // This function always returns a valid top level window or NULL.
-    wxWindow *GetParentForModalDialog(wxWindow *parent = NULL) const;
+    wxWindow *GetParentForModalDialog(wxWindow *parent, long style) const;
+
+    // This overload can only be used for already initialized windows, i.e. not
+    // from the ctor. It uses the current window parent and style.
+    wxWindow *GetParentForModalDialog() const
+    {
+        return GetParentForModalDialog(GetParent(), GetWindowStyle());
+    }
 
 #if wxUSE_STATTEXT // && wxUSE_TEXTCTRL
     // splits text up at newlines and places the
@@ -164,7 +177,7 @@ public:
     static void EnableLayoutAdaptation(bool enable) { sm_layoutAdaptation = enable; }
 
     // modality kind
-    wxDialogModality GetModality() const;
+    virtual wxDialogModality GetModality() const;
 protected:
     // emulate click of a button with the given id if it's present in the dialog
     //