]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/tdocview.tex
classic/carbon split
[wxWidgets.git] / docs / latex / wx / tdocview.tex
index 8b147fa1768bb1dde675c5e19635551f87b5c1cb..0cf6922896967f5a6b3dd4a707d807b34cd4f883 100644 (file)
@@ -2,6 +2,7 @@
 
 Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
 \helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
 
 Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
 \helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
+\rtfsp\helpref{wxDocMDIParentFrame}{wxdocmdiparentframe}, \helpref{wxDocMDIChildFrame}{wxdocmdichildframe},
 \rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
 
 The document/view framework is found in most application frameworks, because it
 \rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
 
 The document/view framework is found in most application frameworks, because it
@@ -61,6 +62,15 @@ class, to provide multi-page document facilities.
 Note that to activate framework functionality, you need to use some or all of
 the wxWindows \helpref{predefined command identifiers}{predefinedids} in your menus.
 
 Note that to activate framework functionality, you need to use some or all of
 the wxWindows \helpref{predefined command identifiers}{predefinedids} in your menus.
 
+\perlnote{The document/view framework is available in wxPerl. To use it,
+you will need the following statements in your application code:\par
+{\small
+\begin{verbatim}
+use Wx::DocView;
+use Wx ':docview';   # import constants (optional)
+\end{verbatim}
+}}
+
 \subsection{wxDocument overview}\label{wxdocumentoverview}
 
 \overview{Document/view framework overview}{docviewoverview}
 \subsection{wxDocument overview}\label{wxdocumentoverview}
 
 \overview{Document/view framework overview}{docviewoverview}
@@ -115,7 +125,7 @@ and \helpref{wxDocManager}{wxdocmanager} classes.
 See the example application in {\tt samples/docview}.
 
 To use the abstract wxView class, you need to derive a new class and override
 See the example application in {\tt samples/docview}.
 
 To use the abstract wxView class, you need to derive a new class and override
-at least the member functions OnCreate, OnDraw, OnUpdate and OnClose. You'll probably
+at least the member functions OnCreate, OnDraw, OnUpdate and OnClose. You will probably
 want to override OnMenuCommand to respond to menu commands from the frame containing the
 view.
 
 want to override OnMenuCommand to respond to menu commands from the frame containing the
 view.
 
@@ -163,7 +173,7 @@ a single document template is constructed, and dialogs will be appropriately
 simplified.
 
 wxDocTemplate is part of the document/view framework supported by wxWindows,
 simplified.
 
 wxDocTemplate is part of the document/view framework supported by wxWindows,
-and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument}
+and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument} 
 and \helpref{wxDocManager}{wxdocmanager} classes.
 
 See the example application in {\tt samples/docview}.
 and \helpref{wxDocManager}{wxdocmanager} classes.
 
 See the example application in {\tt samples/docview}.
@@ -188,7 +198,7 @@ The wxDocManager class is part of the document/view framework supported by wxWin
 and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument}\rtfsp
 and \helpref{wxDocTemplate}{wxdoctemplate} classes.
 
 and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument}\rtfsp
 and \helpref{wxDocTemplate}{wxdoctemplate} classes.
 
-A wxDocManager instance coordinates documents, views and document templates. It keeps a list of document and
+A wxDocManager instance coordinates documents, views and document templates. It keeps a list of document 
 and template instances, and much functionality is routed through this object, such
 as providing selection and file dialogs. The application can use this class `as is' or
 derive a class and override some members to extend or change the functionality.
 and template instances, and much functionality is routed through this object, such
 as providing selection and file dialogs. The application can use this class `as is' or
 derive a class and override some members to extend or change the functionality.
@@ -254,42 +264,28 @@ the file history, that will be used for appending the filenames. They are
 appended using menu identifiers in the range wxID\_FILE1 to wxID\_FILE9.
 
 In order to respond to a file load command from one of these identifiers,
 appended using menu identifiers in the range wxID\_FILE1 to wxID\_FILE9.
 
 In order to respond to a file load command from one of these identifiers,
-you need to handle them in your wxFrame::OnMenuCommand. Below is the
-code used by the default document/view parent frame.
+you need to handle them using an event handler, for example:
 
 
+{\small
 \begin{verbatim}
 \begin{verbatim}
-void wxDocParentFrame::OnMenuCommand(int id)
+BEGIN_EVENT_TABLE(wxDocParentFrame, wxFrame)
+    EVT_MENU(wxID_EXIT, wxDocParentFrame::OnExit)
+    EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, wxDocParentFrame::OnMRUFile)
+END_EVENT_TABLE()
+
+void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
 {
 {
-  switch (id)
-  {
-    case wxID_EXIT:
-    {
-      if (GetEventHandler()->OnClose())
-        delete this;
-      break;
-    }
-    case wxID_FILE1:
-    case wxID_FILE2:
-    case wxID_FILE3:
-    case wxID_FILE4:
-    case wxID_FILE5:
-    case wxID_FILE6:
-    case wxID_FILE7:
-    case wxID_FILE8:
-    case wxID_FILE9:
-    {
-      char *f = docManager->GetHistoryFile(id-wxID_FILE1);
-      if (f)
-        (void)docManager->CreateDocument(f, wxDOC_SILENT);
-      break;
-    }
-    default:
-    {
-      docManager->OnMenuCommand(id);
-    }
-  }
+    Close();
+}
+
+void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
+{
+      wxString f(m_docManager->GetHistoryFile(event.GetId() - wxID_FILE1));
+      if (f != "")
+        (void)m_docManager->CreateDocument(f, wxDOC_SILENT);
 }
 \end{verbatim}
 }
 \end{verbatim}
+}
 
 \subsection{wxWindows predefined command identifiers}\label{predefinedids}
 
 
 \subsection{wxWindows predefined command identifiers}\label{predefinedids}