]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/view.tex
Added wxTreebook:
[wxWidgets.git] / docs / latex / wx / view.tex
1 \section{\class{wxView}}\label{wxview}
2
3 The view class can be used to model the viewing and editing component of
4 an application's file-based data. It is part of the document/view framework supported by wxWidgets,
5 and cooperates with the \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate}
6 and \helpref{wxDocManager}{wxdocmanager} classes.
7
8 \wxheading{Derived from}
9
10 \helpref{wxEvtHandler}{wxevthandler}\\
11 \helpref{wxObject}{wxobject}
12
13 \wxheading{Include files}
14
15 <wx/docview.h>
16
17 \wxheading{See also}
18
19 \helpref{wxView overview}{wxviewoverview}, \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
20 \helpref{wxDocManager}{wxdocmanager}
21
22 \latexignore{\rtfignore{\wxheading{Members}}}
23
24 \membersection{wxView::m\_viewDocument}\label{wxviewmviewdocument}
25
26 \member{wxDocument*}{m\_viewDocument}
27
28 The document associated with this view. There may be more than one view per
29 document, but there can never be more than one document for one view.
30
31 \membersection{wxView::m\_viewFrame}\label{wxviewmviewframe}
32
33 \member{wxFrame*}{m\_viewFrame}
34
35 Frame associated with the view, if any.
36
37 \membersection{wxView::m\_viewTypeName}\label{wxviewmviewtypename}
38
39 \member{wxString}{m\_viewTypeName}
40
41 The view type name given to the wxDocTemplate constructor, copied to this
42 variable when the view is created. Not currently used by the framework.
43
44 \membersection{wxView::wxView}\label{wxviewctor}
45
46 \func{}{wxView}{\void}
47
48 Constructor. Define your own default constructor to initialize application-specific
49 data.
50
51 \membersection{wxView::\destruct{wxView}}\label{wxviewdtor}
52
53 \func{}{\destruct{wxView}}{\void}
54
55 Destructor. Removes itself from the document's list of views.
56
57 \membersection{wxView::Activate}\label{wxviewactivate}
58
59 \func{virtual void}{Activate}{\param{bool}{ activate}}
60
61 Call this from your view frame's OnActivate member to tell the framework which view is
62 currently active. If your windowing system doesn't call OnActivate, you may need to
63 call this function from OnMenuCommand or any place where you know the view must
64 be active, and the framework will need to get the current view.
65
66 The prepackaged view frame wxDocChildFrame calls wxView::Activate from its OnActivate member
67 and from its OnMenuCommand member.
68
69 This function calls wxView::OnActivateView.
70
71 \membersection{wxView::Close}\label{wxviewclose}
72
73 \func{virtual bool}{Close}{\param{bool}{ deleteWindow = true}}
74
75 Closes the view by calling OnClose. If {\it deleteWindow} is true, this function should
76 delete the window associated with the view.
77
78 \membersection{wxView::GetDocument}\label{wxviewgetdocument}
79
80 \constfunc{wxDocument*}{GetDocument}{\void}
81
82 Gets a pointer to the document associated with the view.
83
84 \membersection{wxView::GetDocumentManager}\label{wxviewgetdocumentmanager}
85
86 \constfunc{wxDocManager*}{GetDocumentManager}{\void}
87
88 Returns a pointer to the document manager instance associated with this view.
89
90 \membersection{wxView::GetFrame}\label{wxviewgetframe}
91
92 \func{wxWindow *}{GetFrame}{\void}
93
94 Gets the frame associated with the view (if any). Note that this ``frame'' is
95 not a wxFrame at all in the generic MDI implementation which uses the notebook
96 pages instead of the frames and this is why this method returns a wxWindow and
97 not a wxFrame.
98
99 \membersection{wxView::GetViewName}\label{wxviewgetviewname}
100
101 \constfunc{wxString}{GetViewName}{\void}
102
103 Gets the name associated with the view (passed to the wxDocTemplate constructor).
104 Not currently used by the framework.
105
106 \membersection{wxView::OnActivateView}\label{wxviewonactivateview}
107
108 \func{virtual void}{OnActivateView}{\param{bool }{activate}, \param{wxView *}{activeView}, \param{wxView *}{deactiveView}}
109
110 Called when a view is activated by means of wxView::Activate. The default implementation does
111 nothing.
112
113 \membersection{wxView::OnChangeFilename}\label{wxviewonchangefilename}
114
115 \func{virtual void}{OnChangeFilename}{\void}
116
117 Called when the filename has changed. The default implementation constructs a
118 suitable title and sets the title of the view frame (if any).
119
120 \membersection{wxView::OnClose}\label{wxviewonclose}
121
122 \func{virtual bool}{OnClose}{\param{bool}{ deleteWindow}}
123
124 Implements closing behaviour. The default implementation calls wxDocument::Close
125 to close the associated document. Does not delete the view. The application
126 may wish to do some cleaning up operations in this function, {\it if} a
127 call to wxDocument::Close succeeded. For example, if your views
128 all share the same window, you need to disassociate the window from the view
129 and perhaps clear the window. If {\it deleteWindow} is true, delete the
130 frame associated with the view.
131
132 \membersection{wxView::OnClosingDocument}\label{wxviewonclosingdocument}
133
134 \func{virtual void}{OnClosingDoocument}{\void}
135
136 Override this to clean up the view when the document is being
137 closed.
138
139 \membersection{wxView::OnCreate}\label{wxviewoncreate}
140
141 \func{virtual bool}{OnCreate}{\param{wxDocument* }{doc}, \param{long}{ flags}}
142
143 wxDocManager or wxDocument creates a wxView via a wxDocTemplate.
144 Just after the wxDocTemplate creates the wxView, it calls
145 wxView::OnCreate. In its OnCreate member function, the wxView can create a wxDocChildFrame
146 or a derived class. This wxDocChildFrame provides user interface
147 elements to view and/or edit the contents of the wxDocument.
148
149 By default, simply returns true. If the function returns false, the
150 view will be deleted.
151
152 \membersection{wxView::OnCreatePrintout}\label{wxviewoncreateprintout}
153
154 \func{virtual wxPrintout*}{OnCreatePrintout}{\void}
155
156 If the printing framework is enabled in the library, this function returns a
157 \rtfsp\helpref{wxPrintout}{wxprintout} object for the purposes of printing. It should create a new object
158 every time it is called; the framework will delete objects it creates.
159
160 By default, this function returns an instance of wxDocPrintout, which prints
161 and previews one page by calling wxView::OnDraw.
162
163 Override to return an instance of a class other than wxDocPrintout.
164
165 \membersection{wxView::OnDraw}\label{onviewondraw}
166
167 \func{virtual void}{OnDraw}{\param{wxDC\& }{dc}}
168
169 Override this function to render the view on the given device context.
170
171 \membersection{wxView::OnUpdate}\label{onviewonupdate}
172
173 \func{virtual void}{OnUpdate}{\param{wxView* }{sender}, \param{wxObject* }{hint}}
174
175 Called when the view should be updated. {\it sender} is a pointer to the view
176 that sent the update request, or NULL if no single view requested the update (for instance,
177 when the document is opened). {\it hint} is as yet unused but may in future contain
178 application-specific information for making updating more efficient.
179
180 \membersection{wxView::SetDocument}\label{wxviewsetdocument}
181
182 \func{void}{SetDocument}{\param{wxDocument* }{doc}}
183
184 Associates the given document with the view. Normally called by the
185 framework.
186
187 \membersection{wxView::SetFrame}\label{wxviewsetframe}
188
189 \func{void}{SetFrame}{\param{wxWindow* }{frame}}
190
191 Sets the frame associated with this view. The application should call this
192 if possible, to tell the view about the frame.
193
194 See \helpref{GetFrame}{wxviewgetframe} for the explanation about the mismatch
195 between the ``Frame'' in the method name and the type of its parameter.
196
197 \membersection{wxView::SetViewName}\label{wxviewsetviewname}
198
199 \func{void}{SetViewName}{\param{const wxString\& }{name}}
200
201 Sets the view type name. Should only be called by the framework.
202
203