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
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();
/**
- 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.
*/