]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/print.h
Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
[wxWidgets.git] / interface / wx / print.h
index 4f522e885e42c6e3955cc74e85a0e642c5dd4425..4713bf32eb80fb136ad9b66126a5489058189d48 100644 (file)
@@ -117,7 +117,33 @@ public:
     void OnPaint(wxPaintEvent& event);
 };
 
     void OnPaint(wxPaintEvent& event);
 };
 
+/**
+    Preview frame modality kind.
+
+    The elements of this enum can be used with wxPreviewFrame::Initialize() to
+    indicate how should the preview frame be shown.
+
+    @since 2.9.2
+*/
+enum wxPreviewFrameModalityKind
+{
+    /**
+        Disable all the other top level windows while the preview frame is shown.
 
 
+        This is the default behaviour.
+     */
+    wxPreviewFrame_AppModal,
+
+    /**
+        Disable only the parent window while the preview frame is shown.
+     */
+    wxPreviewFrame_WindowModal,
+
+    /**
+        Show the preview frame non-modally and don't disable any other windows.
+     */
+    wxPreviewFrame_NonModal
+};
 
 /**
     @class wxPreviewFrame
 
 /**
     @class wxPreviewFrame
@@ -169,15 +195,47 @@ public:
     virtual void CreateControlBar();
 
     /**
     virtual void CreateControlBar();
 
     /**
-        Creates the preview canvas and control bar, and calls wxWindow::MakeModal(@true)
-        to disable other top-level windows in the application.
+        Initializes the frame elements and prepares for showing it.
 
 
-        This function should be called by the application prior to showing the frame.
-    */
+        Calling this method is equivalent to calling InitializeWithModality()
+        with wxPreviewFrame_AppModal argument, please see its documentation for
+        more details.
+
+        Please notice that this function is virtual mostly for backwards
+        compatibility only, there is no real need to override it as it's never
+        called by wxWidgets itself.
+     */
     virtual void Initialize();
 
     /**
     virtual void Initialize();
 
     /**
-        Enables the other frames in the application, and deletes the print preview
+        Initializes the frame elements and prepares for showing it with the
+        given modality kind.
+
+        This method creates the frame elements by calling CreateCanvas() and
+        CreateControlBar() methods (which may be overridden to customize them)
+        and prepares to show the frame according to the value of @a kind
+        parameter:
+            - If it is wxPreviewFrame_AppModal, all the other application
+            windows will be disabled when this frame is shown. This is the same
+            behaviour as that of simple Initialize().
+            - If it is wxPreviewFrame_WindowModal, only the parent window of
+            the preview frame will be disabled when it is shown.
+            - And if it is wxPreviewFrame_NonModal, no windows at all will be
+            disabled while the preview is shown.
+
+        Notice that this function (or Initialize()) must be called by the
+        application prior to showing the frame but you still must call @c
+        Show(true) to actually show it afterwards.
+
+        @param kind
+            The modality kind of preview frame.
+
+        @since 2.9.2
+    */
+    virtual void InitializeWithModality(wxPreviewFrameModalityKind kind);
+
+    /**
+        Enables any disabled frames in the application, and deletes the print preview
         object, implicitly deleting any printout objects associated with the print
         preview object.
     */
         object, implicitly deleting any printout objects associated with the print
         preview object.
     */
@@ -747,14 +805,14 @@ public:
     void MapScreenSizeToDevice();
 
     /**
     void MapScreenSizeToDevice();
 
     /**
-        This sets the user scale of the wxDC assocated with this wxPrintout to the same
+        This sets the user scale of the wxDC associated with this wxPrintout to the same
         scale as MapScreenSizeToPaper() but sets the logical origin to the top left corner
         of the page rectangle.
     */
     void MapScreenSizeToPage();
 
     /**
         scale as MapScreenSizeToPaper() but sets the logical origin to the top left corner
         of the page rectangle.
     */
     void MapScreenSizeToPage();
 
     /**
-        This sets the user scale of the wxDC assocated with this wxPrintout to the same
+        This sets the user scale of the wxDC associated with this wxPrintout to the same
         scale as MapScreenSizeToPageMargins() but sets the logical origin to the top left
         corner of the page margins specified by the given wxPageSetupDialogData object.
     */
         scale as MapScreenSizeToPageMargins() but sets the logical origin to the top left
         corner of the page margins specified by the given wxPageSetupDialogData object.
     */