]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/view.tex
Demonstrates printing
[wxWidgets.git] / docs / latex / wx / view.tex
index 139269555d4d2bf0820666a3d281a828806df1d5..f364dc13222d3e5a54276a175ba2c8d5af7e4b01 100644 (file)
@@ -1,8 +1,19 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        view.tex
+%% Purpose:     wxView documentation
+%% Author:      wxWidgets Team
+%% Modified by:
+%% Created:
+%% RCS-ID:      $Id$
+%% Copyright:   (c) wxWidgets Team
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \section{\class{wxView}}\label{wxview}
 
 The view class can be used to model the viewing and editing component of
 \section{\class{wxView}}\label{wxview}
 
 The view class can be used to model the viewing and editing component of
-an application's file-based data. It is part of the document/view framework supported by wxWindows,
-and cooperates with the \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate} 
+an application's file-based data. It is part of the document/view framework supported by wxWidgets,
+and cooperates with the \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate}
 and \helpref{wxDocManager}{wxdocmanager} classes.
 
 \wxheading{Derived from}
 and \helpref{wxDocManager}{wxdocmanager} classes.
 
 \wxheading{Derived from}
@@ -10,6 +21,10 @@ and \helpref{wxDocManager}{wxdocmanager} classes.
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/docview.h>
+
 \wxheading{See also}
 
 \helpref{wxView overview}{wxviewoverview}, \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
 \wxheading{See also}
 
 \helpref{wxView overview}{wxviewoverview}, \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
@@ -17,136 +32,153 @@ and \helpref{wxDocManager}{wxdocmanager} classes.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxView::m\_viewDocument}
+\membersection{wxView::m\_viewDocument}\label{wxviewmviewdocument}
 
 \member{wxDocument*}{m\_viewDocument}
 
 The document associated with this view. There may be more than one view per
 document, but there can never be more than one document for one view.
 
 
 \member{wxDocument*}{m\_viewDocument}
 
 The document associated with this view. There may be more than one view per
 document, but there can never be more than one document for one view.
 
-\membersection{wxView::m\_viewFrame}
+\membersection{wxView::m\_viewFrame}\label{wxviewmviewframe}
 
 \member{wxFrame*}{m\_viewFrame}
 
 Frame associated with the view, if any.
 
 
 \member{wxFrame*}{m\_viewFrame}
 
 Frame associated with the view, if any.
 
-\membersection{wxView::m\_viewTypeName}
+\membersection{wxView::m\_viewTypeName}\label{wxviewmviewtypename}
 
 \member{wxString}{m\_viewTypeName}
 
 The view type name given to the wxDocTemplate constructor, copied to this
 variable when the view is created. Not currently used by the framework.
 
 
 \member{wxString}{m\_viewTypeName}
 
 The view type name given to the wxDocTemplate constructor, copied to this
 variable when the view is created. Not currently used by the framework.
 
-\membersection{wxView::wxView}
+\membersection{wxView::wxView}\label{wxviewctor}
 
 
-\func{}{wxView}{\param{wxDocument* }{doc = NULL}}
+\func{}{wxView}{\void}
 
 Constructor. Define your own default constructor to initialize application-specific
 data.
 
 
 Constructor. Define your own default constructor to initialize application-specific
 data.
 
-\membersection{wxView::\destruct{wxView}}
+\membersection{wxView::\destruct{wxView}}\label{wxviewdtor}
 
 \func{}{\destruct{wxView}}{\void}
 
 Destructor. Removes itself from the document's list of views.
 
 
 \func{}{\destruct{wxView}}{\void}
 
 Destructor. Removes itself from the document's list of views.
 
-\membersection{wxView::Activate}
+\membersection{wxView::Activate}\label{wxviewactivate}
 
 \func{virtual void}{Activate}{\param{bool}{ activate}}
 
 Call this from your view frame's OnActivate member to tell the framework which view is
 currently active. If your windowing system doesn't call OnActivate, you may need to
 
 \func{virtual void}{Activate}{\param{bool}{ activate}}
 
 Call this from your view frame's OnActivate member to tell the framework which view is
 currently active. If your windowing system doesn't call OnActivate, you may need to
-call this function from OnMenuCommand or any place where you know the view must
+call this function from any place where you know the view must
 be active, and the framework will need to get the current view.
 
 be active, and the framework will need to get the current view.
 
-The prepackaged view frame wxDocChildFrame calls wxView::Activate from its OnActivate member
-and from its OnMenuCommand member.
+The prepackaged view frame wxDocChildFrame calls wxView::Activate from its OnActivate member.
 
 This function calls wxView::OnActivateView.
 
 
 This function calls wxView::OnActivateView.
 
-\membersection{wxView::Close}
+\membersection{wxView::Close}\label{wxviewclose}
 
 
-\func{virtual bool}{Close}{\param{bool}{ deleteWindow = TRUE}}
+\func{virtual bool}{Close}{\param{bool}{ deleteWindow = true}}
 
 
-Closes the view by calling OnClose. If {\it deleteWindow} is TRUE, this function should
+Closes the view by calling OnClose. If {\it deleteWindow} is true, this function should
 delete the window associated with the view.
 
 delete the window associated with the view.
 
-\membersection{wxView::GetDocument}
+\membersection{wxView::GetDocument}\label{wxviewgetdocument}
 
 \constfunc{wxDocument*}{GetDocument}{\void}
 
 Gets a pointer to the document associated with the view.
 
 
 \constfunc{wxDocument*}{GetDocument}{\void}
 
 Gets a pointer to the document associated with the view.
 
-\membersection{wxView::GetDocumentManager}
+\membersection{wxView::GetDocumentManager}\label{wxviewgetdocumentmanager}
 
 
-\constfunc{wxDocumentManager*}{GetDocumentManager}{\void}
+\constfunc{wxDocManager*}{GetDocumentManager}{\void}
 
 Returns a pointer to the document manager instance associated with this view.
 
 
 Returns a pointer to the document manager instance associated with this view.
 
-\membersection{wxView::GetFrame}
+\membersection{wxView::GetFrame}\label{wxviewgetframe}
 
 
-\func{wxFrame *}{GetFrame}{\void}
+\func{wxWindow *}{GetFrame}{\void}
 
 
-Gets the frame associated with the view (if any).
+Gets the frame associated with the view (if any). Note that this ``frame'' is
+not a wxFrame at all in the generic MDI implementation which uses the notebook
+pages instead of the frames and this is why this method returns a wxWindow and
+not a wxFrame.
 
 
-\membersection{wxView::GetViewName}
+\membersection{wxView::GetViewName}\label{wxviewgetviewname}
 
 \constfunc{wxString}{GetViewName}{\void}
 
 Gets the name associated with the view (passed to the wxDocTemplate constructor).
 Not currently used by the framework.
 
 
 \constfunc{wxString}{GetViewName}{\void}
 
 Gets the name associated with the view (passed to the wxDocTemplate constructor).
 Not currently used by the framework.
 
-\membersection{wxView::OnActivateView}
+\membersection{wxView::OnActivateView}\label{wxviewonactivateview}
 
 \func{virtual void}{OnActivateView}{\param{bool }{activate}, \param{wxView *}{activeView}, \param{wxView *}{deactiveView}}
 
 Called when a view is activated by means of wxView::Activate. The default implementation does
 nothing.
 
 
 \func{virtual void}{OnActivateView}{\param{bool }{activate}, \param{wxView *}{activeView}, \param{wxView *}{deactiveView}}
 
 Called when a view is activated by means of wxView::Activate. The default implementation does
 nothing.
 
-\membersection{wxView::OnChangeFilename}
+\membersection{wxView::OnChangeFilename}\label{wxviewonchangefilename}
 
 \func{virtual void}{OnChangeFilename}{\void}
 
 Called when the filename has changed. The default implementation constructs a
 suitable title and sets the title of the view frame (if any).
 
 
 \func{virtual void}{OnChangeFilename}{\void}
 
 Called when the filename has changed. The default implementation constructs a
 suitable title and sets the title of the view frame (if any).
 
-\membersection{wxView::OnClose}
+\membersection{wxView::OnClose}\label{wxviewonclose}
 
 \func{virtual bool}{OnClose}{\param{bool}{ deleteWindow}}
 
 Implements closing behaviour. The default implementation calls wxDocument::Close
 to close the associated document. Does not delete the view. The application
 may wish to do some cleaning up operations in this function, {\it if} a
 
 \func{virtual bool}{OnClose}{\param{bool}{ deleteWindow}}
 
 Implements closing behaviour. The default implementation calls wxDocument::Close
 to close the associated document. Does not delete the view. The application
 may wish to do some cleaning up operations in this function, {\it if} a
-call to wxDocument::Close succeeded. For example, if your application's
+call to wxDocument::Close succeeded. For example, if your views
 all share the same window, you need to disassociate the window from the view
 all share the same window, you need to disassociate the window from the view
-and perhaps clear the window. If {\it deleteWindow} is TRUE, delete the
+and perhaps clear the window. If {\it deleteWindow} is true, delete the
 frame associated with the view.
 
 frame associated with the view.
 
-\membersection{wxView::OnCreate}
+\membersection{wxView::OnClosingDocument}\label{wxviewonclosingdocument}
+
+\func{virtual void}{OnClosingDoocument}{\void}
+
+Override this to clean up the view when the document is being
+closed.
+
+\membersection{wxView::OnCreate}\label{wxviewoncreate}
 
 \func{virtual bool}{OnCreate}{\param{wxDocument* }{doc}, \param{long}{ flags}}
 
 
 \func{virtual bool}{OnCreate}{\param{wxDocument* }{doc}, \param{long}{ flags}}
 
-Called just after view construction to give the view a chance to initialize
-itself based on the passed document and flags (unused). By default, simply
-returns TRUE. If the function returns FALSE, the view will be deleted.
+wxDocManager or wxDocument creates a wxView via a wxDocTemplate.
+Just after the wxDocTemplate creates the wxView, it calls
+wxView::OnCreate. In its OnCreate member function, the wxView can create a wxDocChildFrame
+or a derived class. This wxDocChildFrame provides user interface
+elements to view and/or edit the contents of the wxDocument.
 
 
-The predefined document child frame, wxDocChildFrame, calls this function
-automatically.
+By default, simply returns true. If the function returns false, the
+view will be deleted.
 
 
-\membersection{wxView::OnCreatePrintout}
+\membersection{wxView::OnCreatePrintout}\label{wxviewoncreateprintout}
 
 \func{virtual wxPrintout*}{OnCreatePrintout}{\void}
 
 If the printing framework is enabled in the library, this function returns a
 \rtfsp\helpref{wxPrintout}{wxprintout} object for the purposes of printing. It should create a new object
 
 \func{virtual wxPrintout*}{OnCreatePrintout}{\void}
 
 If the printing framework is enabled in the library, this function returns a
 \rtfsp\helpref{wxPrintout}{wxprintout} object for the purposes of printing. It should create a new object
-everytime it is called; the framework will delete objects it creates.
+every time it is called; the framework will delete objects it creates.
 
 By default, this function returns an instance of wxDocPrintout, which prints
 and previews one page by calling wxView::OnDraw.
 
 Override to return an instance of a class other than wxDocPrintout.
 
 
 By default, this function returns an instance of wxDocPrintout, which prints
 and previews one page by calling wxView::OnDraw.
 
 Override to return an instance of a class other than wxDocPrintout.
 
-\membersection{wxView::OnUpdate}
+\membersection{wxView::OnDraw}\label{onviewondraw}
+
+\func{virtual void}{OnDraw}{\param{wxDC* }{dc}}
+
+Override this function to render the view on the given device context.
+
+\membersection{wxView::OnUpdate}\label{onviewonupdate}
 
 \func{virtual void}{OnUpdate}{\param{wxView* }{sender}, \param{wxObject* }{hint}}
 
 
 \func{virtual void}{OnUpdate}{\param{wxView* }{sender}, \param{wxObject* }{hint}}
 
@@ -155,24 +187,26 @@ that sent the update request, or NULL if no single view requested the update (fo
 when the document is opened). {\it hint} is as yet unused but may in future contain
 application-specific information for making updating more efficient.
 
 when the document is opened). {\it hint} is as yet unused but may in future contain
 application-specific information for making updating more efficient.
 
-\membersection{wxView::SetDocument}
+\membersection{wxView::SetDocument}\label{wxviewsetdocument}
 
 \func{void}{SetDocument}{\param{wxDocument* }{doc}}
 
 Associates the given document with the view. Normally called by the
 framework.
 
 
 \func{void}{SetDocument}{\param{wxDocument* }{doc}}
 
 Associates the given document with the view. Normally called by the
 framework.
 
-\membersection{wxView::SetFrame}
+\membersection{wxView::SetFrame}\label{wxviewsetframe}
 
 
-\func{void}{SetFrame}{\param{wxFrame* }{frame}}
+\func{void}{SetFrame}{\param{wxWindow* }{frame}}
 
 Sets the frame associated with this view. The application should call this
 if possible, to tell the view about the frame.
 
 
 Sets the frame associated with this view. The application should call this
 if possible, to tell the view about the frame.
 
-\membersection{wxView::SetViewName}
+See \helpref{GetFrame}{wxviewgetframe} for the explanation about the mismatch
+between the ``Frame'' in the method name and the type of its parameter.
+
+\membersection{wxView::SetViewName}\label{wxviewsetviewname}
 
 \func{void}{SetViewName}{\param{const wxString\& }{name}}
 
 Sets the view type name. Should only be called by the framework.
 
 
 \func{void}{SetViewName}{\param{const wxString\& }{name}}
 
 Sets the view type name. Should only be called by the framework.
 
-