]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/print.h
Virtualize StartEditor and add implementations for the ports that can do it.
[wxWidgets.git] / interface / wx / print.h
index 53ce4e2f3eb356d8bb692a5bb62d10aeb2a72878..8eb1e3764ba9502138559b57377ae1c4e84702bf 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxPreviewControlBar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxPreviewControlBar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -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,24 @@ 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.
+        Creates the preview canvas and control bar.
+
+        By default also disables the other existing top level windows to
+        prepare for showing the preview frame modally. Since wxWidgets 2.9.2
+        this can be changed by specifying either wxPreviewFrame_WindowModal --
+        to disable just the parent window -- or wxPreviewFrame_NonModal -- to
+        not disable any windows at all -- as @a kind parameter.
 
 
-        This function should be called by the application prior to showing the frame.
+        This function must be called by the application prior to showing the frame.
+
+        @param kind
+            The modality kind of preview frame. @since 2.9.2
     */
     */
-    virtual void Initialize();
+    virtual void Initialize(wxPreviewFrameModalityKind kind
+                                = wxPreviewFrame_AppModal);
 
     /**
 
     /**
-        Enables the other frames in the application, and deletes the print preview
+        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.
     */
@@ -586,6 +621,11 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
     void GetPPIPrinter(int* w, int* h) const;
 
     */
     void GetPPIPrinter(int* w, int* h) const;
 
@@ -601,6 +641,11 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
     void GetPPIScreen(int* w, int* h) const;
 
     */
     void GetPPIScreen(int* w, int* h) const;
 
@@ -630,6 +675,11 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
     void GetPageSizeMM(int* w, int* h) const;
 
     */
     void GetPageSizeMM(int* w, int* h) const;
 
@@ -646,6 +696,11 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
     void GetPageSizePixels(int* w, int* h) const;
 
     */
     void GetPageSizePixels(int* w, int* h) const;
 
@@ -688,9 +743,26 @@ public:
 
     /**
         Returns @true if the printout is currently being used for previewing.
 
     /**
         Returns @true if the printout is currently being used for previewing.
+
+        @see GetPreview()
     */
     virtual bool IsPreview() const;
 
     */
     virtual bool IsPreview() const;
 
+    /**
+        Returns the associated preview object if any.
+
+        If this printout object is used for previewing, returns the associated
+        wxPrintPreview. Otherwise returns @NULL.
+
+        The returned pointer is not owned by the printout and must not be
+        deleted.
+
+        @see IsPreview()
+
+        @since 2.9.1.
+     */
+    wxPrintPreview *GetPreview() const;
+
     /**
         Set the user scale and device origin of the wxDC associated with this wxPrintout
         so that one screen pixel maps to one device pixel on the DC.
     /**
         Set the user scale and device origin of the wxDC associated with this wxPrintout
         so that one screen pixel maps to one device pixel on the DC.
@@ -710,14 +782,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.
     */
@@ -733,7 +805,7 @@ public:
         (It will, of course, be larger or smaller in the preview image, depending on the
         zoom factor.)
 
         (It will, of course, be larger or smaller in the preview image, depending on the
         zoom factor.)
 
-        Use this if you want WYSIWYG behavior, e.g., in a text editor.
+        Use this if you want WYSIWYG behaviour, e.g., in a text editor.
     */
     void MapScreenSizeToPaper();
 
     */
     void MapScreenSizeToPaper();