.. include:: headings.inc .. currentmodule:: lib.docview .. highlight:: python .. _lib.docview.View: ========================================================================================================================================== |phoenix_title| **View** ========================================================================================================================================== 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 wxDocument, wxDocTemplate and wxDocManager classes. | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **View** .. raw:: html

Inheritance diagram of View

| |super_classes| Known Superclasses ================================== :class:`EvtHandler` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~lib.docview.View.__init__` Constructor. Define your own default constructor to initialize :meth:`~lib.docview.View.Activate` Call this from your view frame's OnActivate member to tell the :meth:`~lib.docview.View.Close` Closes the view by calling OnClose. If deleteWindow is true, this :meth:`~lib.docview.View.Destroy` Destructor. Removes itself from the document's list of views. :meth:`~lib.docview.View.GetDocument` Returns the document associated with the view. :meth:`~lib.docview.View.GetDocumentManager` Returns the document manager instance associated with this view. :meth:`~lib.docview.View.GetFrame` Gets the frame associated with the view (if any). Note that this :meth:`~lib.docview.View.GetViewName` Gets the name associated with the view (passed to the wxDocTemplate :meth:`~lib.docview.View.OnActivateView` Called when a view is activated by means of wxView::Activate. The :meth:`~lib.docview.View.OnChangeFilename` Called when the filename has changed. The default implementation :meth:`~lib.docview.View.OnClose` Implements closing behaviour. The default implementation calls :meth:`~lib.docview.View.OnClosingDocument` Override this to clean up the view when the document is being closed. :meth:`~lib.docview.View.OnCreate` wxDocManager or wxDocument creates a wxView via a wxDocTemplate. Just :meth:`~lib.docview.View.OnCreatePrintout` Returns a wxPrintout object for the purposes of printing. It should :meth:`~lib.docview.View.OnDraw` Override this to draw the view for the printing framework. The :meth:`~lib.docview.View.OnPrint` Override this to print the view for the printing framework. The :meth:`~lib.docview.View.OnUpdate` Called when the view should be updated. sender is a pointer to the :meth:`~lib.docview.View.ProcessEvent` Processes an event, searching event tables and calling zero or more :meth:`~lib.docview.View.ProcessUpdateUIEvent` Processes a UI event, searching event tables and calling zero or more :meth:`~lib.docview.View.SetDocument` Associates the given document with the view. Normally called by the :meth:`~lib.docview.View.SetFrame` Sets the frame associated with this view. The application should call :meth:`~lib.docview.View.SetViewName` Sets the view type name. Should only be called by the framework. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: View(EvtHandler) 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 wxDocument, wxDocTemplate and wxDocManager classes. .. method:: __init__(self) Constructor. Define your own default constructor to initialize application-specific data. .. method:: Activate(self, activate=True) 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 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. .. method:: Close(self, deleteWindow=True) Closes the view by calling OnClose. If deleteWindow is true, this function should delete the window associated with the view. .. method:: Destroy(self) Destructor. Removes itself from the document's list of views. .. method:: GetDocument(self) Returns the document associated with the view. .. method:: GetDocumentManager(self) Returns the document manager instance associated with this view. .. method:: GetFrame(self) 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. .. method:: GetViewName(self) Gets the name associated with the view (passed to the wxDocTemplate constructor). Not currently used by the framework. .. method:: OnActivateView(self, activate, activeView, deactiveView) Called when a view is activated by means of wxView::Activate. The default implementation does nothing. .. method:: OnChangeFilename(self) Called when the filename has changed. The default implementation constructs a suitable title and sets the title of the view frame (if any). .. method:: OnClose(self, deleteWindow=True) 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, if a call to wxDocument::Close succeeded. For example, if your application's all share the same window, you need to disassociate the window from the view and perhaps clear the window. If deleteWindow is true, delete the frame associated with the view. .. method:: OnClosingDocument(self) Override this to clean up the view when the document is being closed. The default implementation does nothing. .. method:: OnCreate(self, doc, flags) 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. By default, simply returns true. If the function returns false, the view will be deleted. .. method:: OnCreatePrintout(self) Returns a wxPrintout object for the purposes of printing. It should create a new object 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. .. method:: OnDraw(self, dc) Override this to draw the view for the printing framework. The default implementation does nothing. .. method:: OnPrint(self, dc, info) Override this to print the view for the printing framework. The default implementation calls View.OnDraw. .. method:: OnUpdate(self, sender, hint) Called when the view should be updated. sender is a pointer to the view that sent the update request, or NULL if no single view requested the update (for instance, when the document is opened). hint is as yet unused but may in future contain application-specific information for making updating more efficient. .. method:: ProcessEvent(self, event) Processes an event, searching event tables and calling zero or more suitable event handler function(s). Note that the ProcessEvent method is called from the wxPython docview framework directly since wxPython does not have a virtual ProcessEvent function. .. method:: ProcessUpdateUIEvent(self, event) Processes a UI event, searching event tables and calling zero or more suitable event handler function(s). Note that the ProcessEvent method is called from the wxPython docview framework directly since wxPython does not have a virtual ProcessEvent function. .. method:: SetDocument(self, doc) Associates the given document with the view. Normally called by the framework. .. method:: SetFrame(self, frame) Sets the frame associated with this view. The application should call this if possible, to tell the view about the frame. See GetFrame for the explanation about the mismatch between the "Frame" in the method name and the type of its parameter. .. method:: SetViewName(self, name) Sets the view type name. Should only be called by the framework.